chore: move python version compatibility to 3.10
Metadata
Current evaluation
Merged PR canonical/craft-parts#742 (a80f9c26): raises craft-parts Python floor to 3.10 across packaging, code and typing cleanups (Optional/Union removed); pyproject.toml now declares requires-python >=3.10.
Resolution: closed resolved
Reason: The PR itself was merged after rebasing onto features/2.0 (merge commit a80f9c26), approved by 2 reviewers; the repo now shows requires-python = ">=3.10" in pyproject.toml and uv.lock. Remaining typing adjustments (e.g. replacing typing.NamedTuple with dataclasses) were explicitly deferred to a follow-up PR.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR canonical/craft-parts#742 (a80f9c26): raises craft-parts Python floor to 3.10 across packaging, code and typing cleanups (Optional/Union removed); pyproject.toml now declares requires-python >=3.10. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged canonical/craft-parts#742 (a80f9c26), moving Python compatibility to 3.10 after rebasing onto features/2.0; further typing cleanup was deferred. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #742, updating craft-parts compatibility to Python 3.10 and removing remaining Optional and Union constructs; further typing changes were deferred. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged to update Python version compatibility to 3.10. Approved by two reviewers and rebased. Remaining Optional and Union typing constructs were removed, with further typing adjustments deferred to a separate PR. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after rebasing on features/2.0. Updated Python compatibility to 3.10, removed remaining Optional and Union instances, and adjusted typing. Dataclass migration deferred to a separate PR. |
Update history
No update history recorded yet.
Related work
-
Related To:
craft-parts#743
(confidence 40%)
Follow-up typing/dataclass cleanup work referenced in the PR comments as intentionally out of scope
-
Related To:
craft-parts#1268
(confidence 35%)
Later switch to typing.override, consistent with the progressive typing modernization started here
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #320 chore!: bump minimum python version to 3.10 | craft-cli | merged | Merged in canonical/craft-cli#320 via commit c35189b, raising the minimum supported Python version from earlier releases to 3.10 across 15 files. | |
| #62 chore: reduce minimum Python version to 3.8 | craft-platforms | merged | Merged PR #62 reduced craft-platforms' minimum Python version to 3.8, enabling Launchpad use before its Python 3.10 migration; documentation follow-up was linked to #63. | |
| #1352 chore: bump minimum Python version to 3.10 | charmcraft | merged | Merged PR #1352 in commit b04b03bf, raising Charmcraft's minimum Python to 3.10, dropping Python 3.8, and updating tooling and CI tests for core22. | |
| #178 chore!: bump minimum Python version to 3.10 | craft-store | closed | Closed unmerged; the Python 3.10 minimum-version bump subsequently landed via PR #186 in commit ceb4a53. | |
| #377 chore: prepare for Python 3.14 | craft-cli | merged | Merged in canonical/craft-cli#377 (6bfa969), replacing overrides with typing and adding Python 3.14 and free-threaded builds to CI. | |
| #381 chore: drop ubuntu 20.04 and python 3.8 | rockcraft | merged | Merged PR #381 (commit 87c0f1f9) by tigarmo: dropped Ubuntu 20.04 and Python 3.8 support, bumping requires-python to >=3.10 in pyproject.toml and adding Python 3.12 to CI test matrix. | |
| #318 drop support for old python versions | craft-cli | closed | Minimum Python raised to 3.10 in merged PR #320 (commit c35189b, 'chore!: bump minimum python version to 3.10'), dropping 3.8/3.9; pyproject.toml now has requires-python >=3.10. | |
| #117 chore!: bump minimum Python version to 3.10 | craft-archives | merged | Merged PR #117 as commit ccfdcbf, raising the minimum supported Python version from 3.9 to 3.10 and resolving #116. | |
| #960 chore(deps): update dependency pydantic to v1.10.4 | charmcraft | closed | Closed unmerged: craft-parts 1.17.1 pinned pydantic 1.9.0, blocking 1.10.4; no Charmcraft commit shipped the update. |