adafruit / adafruit/circup

'list' command should show installed module versions, regardless of if they are out of date

Open
#150 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
172
Forks
41
Avg merge
1d 20h
Merged PRs (30d)
1

Description

The list command as defined right now only provides useful output if it finds out of date modules. If I want to see the list of installed modules and what versions they are, that isn't available. Using the `--verbose` flag doesn't help, but it does add a lot of noise.

Further, if I remove all my modules and reinstall from requirements.txt, circup doesn't say what version is being installed, e.g. from README:

> $ circup install -r requirements.txt
> Installed 'adafruit_bmp280'.
> Installed 'adafruit_lis3mdl'.
> Installed 'adafruit_lsm6ds'.
> Installed 'adafruit_sht31d'.
> Installed 'neopixel'.

We assume it's the current version from the bundle, but it's difficult to verify.

Feature request: list should list all installed modules, and their versions; install should show version being installed.

I see also that freeze provides a list with versions. I find that counterintuitive, as I might expect freeze to have a side-effect like updating my requirement.txt, where I'd expect list to be purely informative.

- Platform/operating system (i.e. Raspberry Pi with Raspbian operating system,
Windows 32-bit, Windows 64-bit, Mac OSX 64-bit, etc.): Ubuntu 21.10 x86_64

- Python version (run `python -version` or `python3 -version`): Python 3.9.7

- Error message you are receiving, including any Python exception traces:

> Found device at CIRCUITPY, running CircuitPython 7.3.2.
> All modules found on the device are up to date.

- List the steps to reproduce the problem below (if possible attach code or commands
to run): `$ circup --path CIRCUITPY list`

Contributor guide

Open the contributing guide

Research direction

Start by tracing the `circup --path CIRCUITPY list` and `circup install -r requirements.txt` command implementations, then compare their behavior with `freeze`. Done means `list` reports every installed module and its version, while installation output reports the version being installed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.