← Back to issue list

feat: add Python and Poetry plugins

View original Github issue

Metadata

Project
charmcraft
Number
#1899
Type
pull request
State
merged
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Merged. Adds Charmcraft-specific Python and Poetry plugins for craft-parts, adjusting venv paths, using system pip, and auto-including src/lib dirs. Changes span 24 files with 841 additions and 44 deletions, approved by two reviewers.

Suggested action:

No scores available.

Issue body

This adds Charmcraft-specific versions of the craft-parts `python` and `poetry` plugins. Notable differences: - The venv is in a subdirectory - Uses the system's `pip` so it doesn't have to install `pip` in the charm venv. - Neither plugin tries to install the current directory as a module - Defaults to not using binaries - Adds the `src` and `lib` directories to the charm if they exist.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Adds Charmcraft-specific Python and Poetry plugins for craft-parts, adjusting venv paths, using system pip, and auto-including src/lib dirs. Changes span 24 files with 841 additions and 44 deletions, approved by two reviewers.
qwen3.6-35b-a3b-mtp-q6 Merged maintainer lengau's changes adding Charmcraft-specific Python and Poetry plugins for craft-parts. Features include a subdirectory venv, system pip usage, disabled binary defaults, and automatic src/lib inclusion.
qwen3.6-35b-a3b-mtp-q6 Merged maintainer lengau's feature adding Charmcraft-specific Python and Poetry craft-parts plugins. Uses a subdirectory venv, system pip, skips current dir installation, disables binaries by default, and auto-includes src and lib directories.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1940 feat(docs): add python and poetry plugin docs charmcraft merged Merged documentation for Python and Poetry plugins. Builds on charmcraft PR #1939 and requires craft-parts PR #872 for full rendering. Approved by two reviewers, adding 144 lines across six files.
86%
#1843 Add charmcraft-specific versions of upstream python plugins charmcraft open 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.
78%
#717 feat: add Rockcraft-specific Poetry plugin rockcraft merged Merged the Rockcraft-specific Poetry plugin, resolving issue #701. Shared Python plugin logic was extracted into a python_common module. Approved by two reviewers, passed CI, and modified 19 files.
77%
#1939 feat(docs): add craft-parts common documentation charmcraft merged Merged documentation update integrating common craft-parts reference material across eight files. Approved by two reviewers, the change establishes the foundation for upcoming python and poetry plugin guides.
74%
#5090 feat: add Snapcraft-specific Poetry plugin snapcraft merged Merged a Snapcraft-specific Poetry plugin that extracts shared Python logic into a python_common module. Enabled for core22 and core24, resolves #5025, approved by two reviewers, and passed CI checks.
74%
#940 feat(plugins/poetry): add poetry and pip extra args craft-parts merged Merged feature adding extra arguments for poetry and pip commands to enable advanced user customization. Approved by three reviewers and passed CI checks.
74%
#977 feat: use the Python plugin v2 for 25.10+ rockcraft merged Merged update to use Python plugin v2 for 25.10+. Includes craft-parts dev update, base-dependent plugin registration, shebang correction, and spread tests. Approved by three reviewers and passed all CI checks.
74%
#830 feat(docs): add poetry plugin reference craft-parts merged Merged after approval by two reviewers. The change adds documentation for a poetry plugin reference, introducing 107 lines across three files. The update was integrated into the main branch without further discussion.
73%
#2022 build(deps): update craft-parts charmcraft merged Merged to update the craft-parts dependency and fix the poetry plugin. Approved by two reviewers, passed CI, and applied a single-line change across one file.
72%
#1873 Create charmcraft-specific versions of the upstream `python` and `poetry` plugins charmcraft closed Closed without implementation. The request to develop charmcraft-specific python and poetry plugins with strict dependencies and source builds was deferred. No fix or merge occurred, indicating the task was abandoned or superseded.
71%