feat: add Python and Poetry plugins
Metadata
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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. |