chore: prepare for Python 3.14
Metadata
Current evaluation
Merged in canonical/craft-cli#377 (6bfa969), replacing overrides with typing and adding Python 3.14 and free-threaded builds to CI.
Resolution: closed resolved
Reason: The approved PR passed all CI checks and was merged as commit 6bfa969, preparing compatibility and test coverage for Python 3.14.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This makes the needed changes for Python 3.14:
1. Removes the incompatible overrides module (uses typing instead)
2. Adds both Python 3.14 and the experimental free-threaded build to CI
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint && make test`?
---
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/craft-cli#377 (6bfa969), replacing overrides with typing and adding Python 3.14 and free-threaded builds to CI. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #377 (commit 6bfa969) 'chore: prepare for Python 3.14': dropped the incompatible overrides module in favour of typing, and added Python 3.14 plus 3.14+freethreaded to CI. Approved by 2 reviewers, all checks green. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/craft-cli#377: replaced the incompatible overrides module with typing and added Python 3.14 and free-threaded builds to CI; all checks passed. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged to prepare for Python 3.14. Replaced the incompatible overrides module with standard typing and added Python 3.14 plus experimental free-threaded builds to CI. Approved by two reviewers with all CI checks passing. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #808 chore: prepare for Python 3.14 | craft-providers | open | Adds Python 3.14 and free-threaded CI coverage, but has 14 failing checks and was tracked as superseded by craft-providers#1509 after PyO3 0.26 support landed. | |
| #360 Not compatible with Python 3.14 | craft-cli | closed | Fixed by merged PR canonical/craft-cli#377 (commit 6bfa969), which removed overrides and added Python 3.14 and free-threaded builds to CI. | |
| #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. | |
| #1435 chore: prepare for Python 3.14 | craft-parts | closed | Closed unmerged as superseded by #1509; Python 3.14 support was later delivered through #1672 and commit 12da4851. | |
| #742 chore: move python version compatibility to 3.10 | craft-parts | merged | 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. | |
| #206 chore(deps): update development dependencies (non-major) | craft-cli | merged | Renovate PR updating craft-cli dev dependencies (pytest 7.4.2→7.4.3, black 23.10.0→23.11.0, yamllint 1.32.0→1.33.0, mypy 1.6.1→1.7.1, pyright 1.1.332→1.1.337) was approved and merged into main as commit 70d8914. |