Skip to content

Support Python 3.14 - #205

Merged
omri374 merged 1 commit into
mainfrom
claude/review-191-202-fix-280x3u
Sep 9, 2026
Merged

omri374 merged 1 commit into
mainfrom
claude/review-191-202-fix-280x3u

Conversation

@omri374

@omri374 omri374 commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Problem

#204 added Python 3.14 to the CI matrix, but pyproject.toml still declares requires-python = ">=3.11,<3.14". uv refuses to sync a 3.14 interpreter under that ceiling, so the 3.14 job fails at the install step before any test runs:

error: The requested interpreter resolved to Python 3.14.x, which is incompatible
with the project's Python requirement: `>=3.11, <3.14` (from `project.requires-python`)

Changes

  • requires-python is now >=3.11,<3.15.
  • uv.lock regenerated for the wider range.
  • Locked spacy moves from 3.8.13 to 3.8.16, the first release that declares <3.15 support and ships cp314 wheels. No other direct dependency changes.
  • CHANGELOG entry under Unreleased.

Verification

uv sync --extra dev followed by pytest --runslow, the same steps CI runs:

Interpreter Result
CPython 3.14.7 749 passed
CPython 3.11.15 749 passed

All compiled dependencies (spacy, thinc, blis, numpy, pandas, scikit-learn, tokenizers) install from prebuilt cp314 wheels; nothing builds from source.

Note for anyone testing locally: a 3.14 release candidate (3.14.0rc2) fails at import spacy with an AssertionError inside pydantic, because pydantic passes a prefer_fwd_module argument to typing._eval_type that only exists in final 3.14. Use a final 3.14.x build.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ce4SomhP9i24x5EYqQks5K


Generated by Claude Code

Raise requires-python to >=3.11,<3.15 so the 3.14 job that CI now runs
can install the project; uv refused a 3.14 interpreter under the old
<3.14 ceiling. Regenerate uv.lock for the wider range and move the
locked spacy from 3.8.13 to 3.8.16, the first release that declares
3.14 support and ships cp314 wheels.

Verified with `pytest --runslow` on CPython 3.14.7 and 3.11.15:
749 passed on both.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ce4SomhP9i24x5EYqQks5K
@omri374
omri374 merged commit 67bbae7 into main Sep 9, 2026
7 checks passed
@omri374
omri374 deleted the claude/review-191-202-fix-280x3u branch September 9, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants