← Back to issue list

Not compatible with Python 3.14

View original Github issue

Metadata

Project
craft-cli
Number
#360
Type
issue
State
closed
Author
lengau
Labels
Status: Triaged Type: Bug
Created
Updated
Closed

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.
80%