feat: use the Python plugin v2 for 25.10+
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
The changeset is big but a lot of it is tests and glue code. I split the changes over commits:
- First commit is updating craft-parts to a dev version, pending a release;
- Second one adds a way to register plugins depending on the base. It's a bit awkward because the plugin registration happens very early, *before* we have a project (since we need to know the plugins in order to validate the plugin-specific keys);
- Third one adds a function to fix the shebangs after the lifecycle is done;
- Four one adds a few spread tests for the new plugin.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged updates to Python plugin v2 for version 25.10 and later. Includes a craft-parts dev update, base-dependent plugin registration, post-lifecycle shebang fixing, and spread tests. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged by maintainer tigarmo, this update upgrades the build system to Python plugin v2 for Ubuntu 25.10+. It bumps craft-parts, adds base-dependent plugin registration, implements post-lifecycle shebang fixes, and includes spread tests. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #257 requirements: update craft-parts to 1.20.0 | rockcraft | merged | Updated craft-parts to 1.20.0 and added a test ensuring Python plugin projects without a bundled interpreter fail to build. Merged after reviewer approval and passing CI checks. | |
| #819 feat(plugins): create base Python plugin | craft-parts | merged | Merged a base Python plugin enabling multiple Python plugins with different build systems. Approved by two reviewers, passed CI, and modified five files with 384 additions and 164 deletions. | |
| #1140 feat: enabled new .NET plugin (v2) on 25.10+ | rockcraft | merged | Merged to enable the new .NET plugin (v2) on Ubuntu 25.10 and devel bases. Documentation was updated to match the Python plugin format, CI checks passed, and the change received four approvals before integration. | |
| #1899 feat: add Python and Poetry plugins | charmcraft | merged | 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. | |
| #448 docs: add python and rust plugin ref | rockcraft | merged | Merged documentation update adding Python and Rust plugin references from craft-parts. Approved by two reviewers, passed CI, and resolved issue #434. Modified 8 files with 35 additions and 3 deletions. | |
| #67 plugins: add python plugin | craft-parts | merged | Merged a Python plugin ported from snapcraft. Approved by two reviewers, passed CI, and added 332 lines across five files to extend plugin support. |