← Back to issue list

chore: move python version compatibility to 3.10

View original Github issue

Metadata

Project
craft-parts
Number
#742
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

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

No scores available.

Issue body

- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? -----

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.
80%
#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.
76%
#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.
76%
#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.
74%
#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.
73%
#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.
72%
#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.
72%
#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.
72%
#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.
70%