Not compatible with Python 3.14
Metadata
Current evaluation
Fixed by merged PR canonical/craft-cli#377 (commit 6bfa969), which removed overrides and added Python 3.14 and free-threaded builds to CI.
Resolution: closed resolved
Reason: PR #377 was merged as 6bfa969, replacing overrides with typing and adding Python 3.14 CI. A maintainer verified that the test suite passed on Python 3.14.2, and the issue was closed as resolved.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### Bug Description
craft-cli is not compatible with Python 3.14 due to [this upstream issue](https://github.com/mkorpela/overrides/issues/127) in the `overrides` module. It's unclear whether the module is still being developed, as the last commit to the main branch was over a year ago
### To Reproduce
`uv run --python=3.14 pytest`
### part yaml
```shell
```
### Relevant log output
```shell
____________________________________________________________________________________________________ ERROR collecting tests/unit/test_completion.py _____________________________________________________________________________________________________
tests/unit/test_completion.py:32: in <module>
from overrides import override
.venv/lib/python3.14/site-packages/overrides/__init__.py:8: in <module>
from overrides.overrides import __VERSION__, overrides, override
.venv/lib/python3.14/site-packages/overrides/overrides.py:26: in <module>
from overrides.signature import ensure_signature_is_compatible
.venv/lib/python3.14/site-packages/overrides/signature.py:6: in <module>
from .typing_utils import get_args, issubtype
.venv/lib/python3.14/site-packages/overrides/typing_utils.py:50: in <module>
typing.ByteString: bytes, # https://docs.python.org/3/library/typing.html#typing.ByteString
../../../.local/share/uv/python/cpython-3.14.0a4-linux-x86_64-gnu/lib/python3.14/typing.py:3840: in __getattr__
raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
E AttributeError: module 'typing' has no attribute 'ByteString'
================================================================================================================ short test summary info ================================================================================================================
ERROR tests/unit/test_completion.py - AttributeError: module 'typing' has no attribute 'ByteString'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR canonical/craft-cli#377 (commit 6bfa969), which removed overrides and added Python 3.14 and free-threaded builds to CI. | |
| stealth/space-bunny-alpha | — | closed resolved | Python 3.14 incompatibility (upstream `overrides` module using removed typing.ByteString) fixed by PR #377, commit 6bfa969, which dropped the overrides dependency in favour of typing. Maintainer confirmed all tests pass on Python 3.14.2 at efe60f6. | |
| stealth/space-bunny-alpha | — | closed resolved | Python 3.14 compatibility was fixed by merged PR #377, which replaced the incompatible overrides usage and added Python 3.14 CI; all tests now pass. | |
| stealth/space-bunny-alpha | — | closed resolved | Python 3.14 incompatibility was fixed by PR #377, replacing the incompatible overrides module and adding Python 3.14 CI builds; merged in commit 6bfa969. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed in PR #377 by updating dependencies to support Python 3.14. The overrides library incompatibility with the removed typing.ByteString was resolved, and all tests now pass on Python 3.14. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed in PR #377 by updating dependencies to resolve Python 3.14 compatibility. The upstream overrides package incompatibility stemming from the removed typing.ByteString attribute was addressed, and all tests now pass on Python 3.14. | |
| qwen/qwen3.6-35b-a3b | — | — | Resolved in PR #377. Updated dependencies to address the upstream overrides module incompatibility with Python 3.14, specifically the removed typing.ByteString attribute. All tests now pass on Python 3.14.2. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/craft-cli#377
(confidence 100%)
Merged Python 3.14 compatibility changes and removed the incompatible overrides dependency.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. |