← Back to issue list

Utility to obtain all PYDEPS

View original Github issue

Metadata

Project
charmcraft
Number
#1199
Type
issue
State
open
Author
sed-i
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Open, triaged enhancement to expose all fetched charm libraries' PYDEPS for tox or pip; collection exists internally, but no CLI utility is available.

Suggested action: keep open

Reason: The request is clearly labeled as a triaged enhancement, and Charmcraft already has collect_charmlib_pydeps(basedir), used by the builder and linter, making a shell-friendly CLI command feasible. No CLI exposure was found, while current scaffold templates still instruct users to list charm-library dependencies manually; CLI output, ordering, and shell quoting need design before implementation.

Evaluated by: mr-cal-bot

Impact: 43 Quick Win: 24 Complexity: 29 Confidence: 94 Actionability: 79

Issue body

### What needs to get done Deps that are specified in PYDEPS still need to be repeated in tox.ini/requirements.txt for running test environments. It would be handy if there was a tool to do something like `pip install $PYDEPS`, which we could run in a tox env before running unit tests. ### Why it needs to get done PYDEPS was introduced so users won't need to update their projects deps after fetch-lib. In practice, we still need to update project deps.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 43
Quick Win: 24
Complexity: 29
Confidence: 94
Actionability: 79
keep open Open, triaged enhancement to expose all fetched charm libraries' PYDEPS for tox or pip; collection exists internally, but no CLI utility is available.
~deepseek/deepseek-pro-latest
Impact: 40
Quick Win: 14
Complexity: 40
Confidence: 65
Actionability: 60
keep open Feature request for a charmcraft CLI utility to output all PYDEPS from charm libraries, so test environments can install them without duplicating deps. Triaged; internal Jira ticket created. Underlying collect_charmlib_pydeps() exists but is not exposed as a command.
stealth/space-bunny-alpha
Impact: 35
Quick Win: 16
Complexity: 28
Confidence: 78
Actionability: 65
keep open Enhancement request to expose charmlib PYDEPS as a CLI utility so test envs can install them; collect_charmlib_pydeps() exists in charmcraft/utils/charmlibs.py but is still not exposed as a command.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 19
Complexity: 20
Confidence: 80
Actionability: 80
keep open Enhancement request for a CLI utility to extract PYDEPS from charm libraries for use in test environments. collect_charmlib_pydeps() function exists but is not exposed as a CLI command.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 23
Staleness: 65
Complexity: 35
Confidence: 75
Support Request: 10
keep open Request for a utility to install all charmlib PYDEPS in test environments (tox), avoiding manual repetition in requirements. Triaged as enhancement; project has since added a PYDEPS linter and uv plugin with charmlibs-pydeps dependency groups, partially addressing the need.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 45
Confidence: 70
Support Request: 10
keep open Enhancement request for a utility to automatically install PYDEPS in test environments, avoiding manual duplication. Currently triaged with an internal Jira ticket, but inactive for ~10 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 35
Confidence: 65
Support Request: 5
keep open Enhancement request for a utility to extract and install PYDEPS dependencies automatically, avoiding manual duplication in tox.ini or requirements.txt. Currently triaged but inactive for ~9.5 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 15
Confidence: 70
Support Request: 0
keep open Enhancement request for a utility to automatically extract and install PYDEPS, preventing manual duplication in tox.ini and requirements.txt. Currently triaged but inactive for nearly three years.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/charmcraft#1890 (confidence 96%)

    Its PYDEPS linter was implemented in PR #2250 to validate dependencies in a built venv, but it does not provide the requested test-environment utility.

  • Related To: canonical/charmcraft#1157 (confidence 92%)

    PR #1157 made builds install charm-library PYDEPS alongside requirements, addressing packaging but not the requested tox or pip-facing extraction workflow.

Related issues

No related issues found above the similarity threshold.