← Back to issue list

core20: support PEP 518 in the python plugin

View original Github issue

Metadata

Project
snapcraft
Number
#4138
Type
issue
State
closed
Author
sergiusens
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed

Current evaluation

core20 python plugin now supports PEP 518 sources with only pyproject.toml and no setup.py, merged in PR #4087 (commit 2d596621d) and shipped in Snapcraft 8; core20 support later removed by #6241.

Resolution: closed resolved

Reason: PR #4087 (commit 2d596621d, 'feat(plugins): add core20 support for pyproject.toml projects') added PEP 518 support to the Python plugin, and the Snapcraft 8 changelog notes 'Add support for Python projects driven by a pyproject.toml'. cmatsuoka closed the issue pointing at #4087, noting the feature is in Snapcraft 8 since core20 builds were removed by #6241 and are gone in Snapcraft 9.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Support having only a pyproject.yaml an no setup.py in a source when using the python plugin ### Why it needs to get done This enables support for PEP 518 https://peps.python.org/pep-0518/

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved core20 python plugin now supports PEP 518 sources with only pyproject.toml and no setup.py, merged in PR #4087 (commit 2d596621d) and shipped in Snapcraft 8; core20 support later removed by #6241.
stealth/space-bunny-alpha — closed resolved Fixed by merged PR canonical/snapcraft#4087, adding PEP 518 support; released in Snapcraft 8 before core20 support was removed by #6241.
qwen3.6-35b-a3b-mtp-q6 — — Fixed in pull request #4087 to enable PEP 518 pyproject support in the python plugin. Core20 support was later removed in pull request #6241, making the enhancement obsolete for Snapcraft 9.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 20
Staleness: 75
Complexity: 55
Confidence: 60
Support Request: 5
keep open Enhancement to support PEP 518 (pyproject.toml-only builds without setup.py) in the snapcraft python plugin for core20. Triaged by maintainer sergiusens, synced to Jira SNAPCRAFT-1073, but inactive for ~16 months with no PRs or progress.
qwen/qwen3.6-35b-a3b
Staleness: 80
Complexity: 55
Confidence: 75
Support Request: 10
close stale Enhancement to update the python plugin for PEP 518 pyproject.toml builds without setup.py. Triaged but inactive for over a year with no maintainer progress or discussion.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 40
Confidence: 75
Support Request: 10
keep open Triaged enhancement to support PEP 518/pyproject.toml in the python plugin. Authored by a maintainer but inactive for over a year with only automated comments.

Update history

Date Change
closed

Related work

  • Likely Fixed By: canonical/snapcraft#4087 (confidence 97%)

    Merged PR adding core20 pyproject.toml/PEP 518 support; cited by the closing maintainer comment.

  • Related To: canonical/snapcraft#6241 (confidence 80%)

    Removal of snapcraft_legacy dropped core20 support, making the fix only relevant to Snapcraft 8.

Related issues

Issue Project State Summary Similarity
#4087 python v2 plugin: support building parts conforming to PEP 518 snapcraft merged Merged #4087 as 2d596621d, adding core20 Python v2 plugin support for building PEP 518 projects with pyproject.toml.
79%
#2008237 python plugin doesn't work with pyproject.toml based projects snapcraft (launchpad) closed Added core20 support for pyproject.toml projects via #4087 and craft-parts#435; the fix shipped in Snapcraft 8 and restores packaging of console-script entry points.
74%
#3079 cli: add plugin help for core20 snapcraft merged Merged in canonical/snapcraft#3079 (04bf14915), adding core20 plugin help, Click paging, Python/nil v2 help fixes, and a core20 base fallback.
74%
#2761 Core20 base snapcraft merged Core20 base support was merged via #3579, moving Snapcraft to core20 in commit 18a974e01 (merge ed2baf8bd).
71%
#2973 specifications: add core20 plugin specification snapcraft merged Merged PR #2973 as commit 9f89aef3b: adds the core20 plugin specification (216 lines, 2 files) to snapcraft's specifications process, after the guidelines landed in #2975. Approved and merged to master.
70%
#5290 fix(core20): use importlib for local plugins snapcraft merged Merged in canonical/snapcraft#5290, changing core20 local plugin loading to use importlib; recorded in commits df498f0dc and 5edefe1ab.
70%
#1874920 python plugin doesn't support base "core20" snapcraft (launchpad) closed Closed without a recorded fix after years of inactivity. Snapcraft 4.0 added core20 support, but i386 had no core20 base and external-symlink lint failures remained.
70%