← Back to issue list

Add charmcraft-specific versions of upstream python plugins

View original Github issue

Metadata

Project
charmcraft
Number
#1843
Type
issue
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Request to add charmcraft-specific python/poetry plugins. Implemented by commit 8b748f3e (PR #1899) alongside #1873; the plugins are registered as 'python'/'poetry' in get_app_plugins() and have received later fixes (#1968, #2044, #2835).

Suggested action: close resolved

Reason: Commit 8b748f3e ('feat: add Python and Poetry plugins (#1899)') created charmcraft/parts/plugins/_python.py and _poetry.py, which subclass the upstream craft_parts plugins to skip installing '.' as a package, copy charm source/charmlibs into the venv, skip shebang rewriting, and add venv cleanup; get_app_plugins() in charmcraft/parts/__init__.py registers them under 'python' and 'poetry'. The sibling tracking issue #1873 was closed citing exactly this PR, and later commits 0db15c18, dd636296, 4dd1ae35 refine the same files, confirming the work landed and remains maintained.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 16 Complexity: 40 Confidence: 92 Actionability: 90

Issue body

### What needs to get done Ensure that the `craft-parts` python plugins work as expected with a charm ### Why it needs to get done We don't really need our own special plugin if we properly use the upstream plugins.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 30
Quick Win: 16
Complexity: 40
Confidence: 92
Actionability: 90
close resolved Request to add charmcraft-specific python/poetry plugins. Implemented by commit 8b748f3e (PR #1899) alongside #1873; the plugins are registered as 'python'/'poetry' in get_app_plugins() and have received later fixes (#1968, #2044, #2835).
qwen/qwen3.6-35b-a3b
Impact: 20
Quick Win: 3
Complexity: 30
Confidence: 70
Actionability: 20
close stale Feature request to ensure craft-parts python plugins work with charms. Open 752 days with no maintainer labels or engagement. Related issue #1873 was closed without implementation, noting the task was deferred and abandoned.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 20
Staleness: 75
Complexity: 55
Confidence: 85
Support Request: 0
close stale Feature request to add charmcraft-specific versions of upstream craft-parts python plugins. Implemented via PR #1899 (Python and Poetry plugins) with docs in #1940 and a uv plugin in #2050. No further action needed.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 30
Confidence: 80
Support Request: 10
close stale Unlabelled task from nearly two years ago requesting alignment of charmcraft python plugins with upstream craft-parts. Inactive for over a year with only an auto-generated Jira sync comment.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 45
Confidence: 80
Support Request: 10
needs triage Task to adapt craft-parts Python plugins for charmcraft. Unlabelled, inactive for 10+ months, with only an auto-synced Jira comment. Requires triage to assess relevance and priority.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 40
Confidence: 80
Support Request: 10
close stale Request to align charmcraft with upstream craft-parts python plugins. Open for over 1.5 years with no maintainer response or labels.

Update history

No update history recorded yet.

Related work

  • Duplicate Of: charmcraft#1873 (confidence 90%)

    Near-identical scope; #1873 is the same request scoped to 'python' and 'poetry' and was closed as implemented by PR #1899 (8b748f3e).

  • Likely Fixed By: charmcraft#1899 (confidence 85%)

    Merged PR 8b748f3e 'feat: add Python and Poetry plugins' added charmcraft/parts/plugins/_python.py and _poetry.py, satisfying this issue's request.

Related issues

Issue Project State Summary Similarity
#1873 Create charmcraft-specific versions of the upstream `python` and `poetry` plugins charmcraft closed Charmcraft-specific Python and Poetry plugins were added by merged PR #1899 (commit 8b748f3e), replacing the experimental work in #1840.
91%
#1899 feat: add Python and Poetry plugins charmcraft merged Merged into main via commit 8b748f3e, adding Charmcraft-specific Python and Poetry plugins with charm-oriented venv, pip, source-copy, and binary defaults.
81%
#1840 [EXPERIMENTAL]: poetry plugin charmcraft closed Experimental Poetry plugin PR closed unmerged in favour of charmcraft#1899, merged as commit 8b748f3e, adding charmcraft/parts/plugins/_poetry.py and _python.py with charm-oriented defaults.
79%
#1140 Reconsider python package dependency management charmcraft closed Legacy charm-plugin dependency redesign was superseded by dedicated Python and Poetry plugins, added in Charmcraft 3.3.0 by PR #1899 (8b748f3e).
76%
#18 Poetry integration charmcraft closed Poetry support was ultimately delivered as Charmcraft-specific python/poetry craft-parts plugins, added in PR #1899 (commit 8b748f3e, 2023), superseding the older build.py requirements.txt idea; issue closed once shipped.
76%
#1913 Document the `python` and `poetry` plugins charmcraft closed Python and Poetry plugin docs were merged in #1940 (408650c8), with charm-to-Python/Poetry migration guides added in #1967 (ff00a899).
73%
#553 parts,charm_builder: add charm-python-packages plugin property (CRAFT-552) charmcraft merged Merged PR #553 added charm-python-packages, installing listed Python packages before requirements dependencies; implementation landed in commit 4b2d291b.
71%
#1940 feat(docs): add python and poetry plugin docs charmcraft merged PR #1940 merged as commit 408650c8, adding Python and Poetry plugin documentation (+144 lines, 6 files). Builds on #1939 (craft-parts common docs) and required craft-parts#872 anchors; merged despite12 unresolved review comments.
70%