← Back to issue list

Add an option to use `uv venv` and `uv pip` in the `python` and `poetry` plugins

View original Github issue

Metadata

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

Current evaluation

Feature request by a maintainer to add python-package-manager/poetry-package-manager options so python and poetry plugins can use `uv venv` and `uv pip`. Unimplemented; a standalone uv plugin (#930) exists but does not fulfill this.

Suggested action: keep open

Reason: The feature is still unimplemented: grep for `python-package-manager` and `package_manager` across the repo returns no matches, and `BasePythonPlugin._get_pip()` in craft_parts/plugins/base.py:293 still hardcodes the venv's `bin/pip`. The standalone uv plugin added by PR #930 (commit 3ff84991) is not equivalent because it requires changing the `plugin:` key rather than using a per-part option. This issue is the designated follow-up where the closed experimental PR #825 was explicitly deferred and closed 'unusable with the current codebase'. The maintainer-authored body gives a concrete YAML spec, but no discussion, labels, or assignee exist after 658 days, so priority is unconfirmed.

Evaluated by: mr-cal-bot

Impact: 45 Quick Win: 15 Complexity: 55 Confidence: 82 Actionability: 75

Issue body

### What needs to get done This old experimental PR is an example: https://github.com/canonical/craft-parts/pull/825 You should be able to make parts like: ```yaml parts: python: source: . python-package-manager: uv poetry: source: . poetry-package-manager: uv ``` and instead of using the system `python -m venv` and installing pip in that virtual environment, it would use uv for the relevant `venv` and `pip` commands. ### Why it needs to get done The old methods are both slow and can be error-prone since the behaviour of `venv` and `pip` changes from base to base.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 45
Quick Win: 15
Complexity: 55
Confidence: 82
Actionability: 75
keep open Feature request by a maintainer to add python-package-manager/poetry-package-manager options so python and poetry plugins can use `uv venv` and `uv pip`. Unimplemented; a standalone uv plugin (#930) exists but does not fulfill this.
qwen/qwen3.6-35b-a3b
Impact: 35
Quick Win: 12
Complexity: 45
Confidence: 75
Actionability: 60
keep open Feature request to add uv as a package-manager option within the python and poetry plugins. Unimplemented; a separate uv plugin exists via PR #930 but doesn't fulfill this specific request.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 20
Staleness: 65
Complexity: 55
Confidence: 80
Support Request: 0
keep open Feature request to add a uv package-manager option to the python and poetry plugins, replacing venv+pip with uv venv/uv pip. Unlabeled, no comments, inactive about 18 months; still unimplemented, though a separate uv plugin now exists.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 65
Confidence: 85
Support Request: 5
close stale Feature request to integrate the uv package manager into python and poetry plugins. Unlabeled, inactive for over a year, with no maintainer comments or assigned work.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 50
Confidence: 85
Support Request: 0
needs triage Feature request to add uv package manager support to craft-parts python and poetry plugins. Unlabelled, inactive for over a year, awaiting maintainer triage.

Update history

No update history recorded yet.

Related work

  • Related To: craft-parts#825 (confidence 92%)

    The experimental PR cited in the issue body; closed unmerged as unusable, explicitly deferred to this issue.

  • Related To: craft-parts#706 (confidence 85%)

    Original `uv` python plugin issue, closed when the standalone uv plugin landed via PR #930; the option-based approach was spun out here.

  • Superseded By: craft-parts#930 (confidence 55%)

    Added a dedicated `uv` plugin providing uv venv/pip/sync, but as a distinct plugin rather than an option on python/poetry, so it only partially covers the motivation.

Related issues

No related issues found above the similarity threshold.