← Back to issue list

`python-extras` keyword for Python plugin

View original Github issue

Metadata

Project
craft-parts
Number
#657
Type
issue
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Maintainer QoL feature request: add a `python-extras` key to the Python plugin so `pip install -U .[extras]` runs. Still unimplemented — the keyword appears nowhere in craft-parts, though the newer uv plugin already ships `uv-extras`. Untriaged; only comment is an autogenerated Jira-sync bot message.

Suggested action: needs triage

Reason: Verified the feature is still absent: `grep` for `python-extras`/`extras` in craft_parts returns no hits in python_plugin.py, and docs/common/craft-parts/reference/plugins/python_plugin.rst lists only python_requirements, python_constraints and python_packages. The plugin still emits `[ -f setup.py ] || [ -f pyproject.toml ] && {pip} install {constraints} -U .` with no extras support, so the request remains valid and unfixed. It is unassessed rather than resolved: the issue has no labels, no assignee, and the sole comment is an autogenerated message from syncronize-issues-to-jira[bot] linking internal ticket CRAFT-2520 — not maintainer triage. Impact is modest since it is explicitly a 'quality of life improvement' with workarounds available (list the extra's package under python-packages), and complexity is low because the uv plugin (commit 3ff84991, #930) already implements the analogous `uv-extras`/`uv-groups` fields as a direct template.

Evaluated by: mr-cal-bot

Impact: 40 Quick Win: 23 Complexity: 22 Confidence: 85 Actionability: 75

Issue body

### What needs to get done It would be nice to have a `python-extras` keyword for the python plugin that will install the given package with any extras specified. Example: ``` parts: codespell: plugin: python source: https://github.com/codespell-project/codespell source-type: git source-tag: v2.2.6 source-depth: 1 python-extras: - toml ``` would [at the appropriate place](https://github.com/canonical/craft-parts/blob/bd6c687f30dc72346816d7cd0b4ceabc8e530d92/craft_parts/plugins/python_plugin.py#L115) run `pip install -U .[toml]` ### Why it needs to get done Quality of life improvement

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 40
Quick Win: 23
Complexity: 22
Confidence: 85
Actionability: 75
needs triage Maintainer QoL feature request: add a `python-extras` key to the Python plugin so `pip install -U .[extras]` runs. Still unimplemented — the keyword appears nowhere in craft-parts, though the newer uv plugin already ships `uv-extras`. Untriaged; only comment is an autogenerated Jira-sync bot message.
qwen/qwen3.6-35b-a3b
Impact: 35
Quick Win: 20
Complexity: 25
Confidence: 70
Actionability: 75
needs triage Feature request to add a python-extras keyword to the Python plugin for installing packages with extras (e.g., pip install .[toml]). Unlabelled, no maintainer response.
qwen/qwen3.8-27b
Impact: 30
Quick Win: 22
Staleness: 75
Complexity: 25
Confidence: 70
Support Request: 0
needs triage Feature request for a python-extras keyword in the python plugin to install pip extras (e.g. pip install -U .[toml]). Unimplemented in the python plugin, but the uv plugin (added later) provides uv-extras for the same need. No maintainer response; only a Jira-sync bot comment.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 15
Confidence: 80
Support Request: 0
needs triage Feature request to add a python-extras keyword to the craft-parts Python plugin for installing packages with extras. Open for nearly 2.5 years with no maintainer assessment or implementation.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 45
Confidence: 75
Support Request: 15
needs triage Feature request to add a python-extras keyword to the craft-parts Python plugin for installing packages with extras. Unlabelled and awaiting maintainer assessment after over two years.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#930 (confidence 80%)

    Commit 3ff84991 'feat: add uv plugin (#930)' added uv_extras/uv_groups fields that build the extras into the install command, providing a direct implementation precedent for the requested python-extras key.

Related issues

No related issues found above the similarity threshold.