Skip to content

chore: support Python 3.14 (requires-python ">=3.11, <3.15")#287

Closed
philipph-askui wants to merge 1 commit into
mainfrom
chore/python-version
Closed

chore: support Python 3.14 (requires-python ">=3.11, <3.15")#287
philipph-askui wants to merge 1 commit into
mainfrom
chore/python-version

Conversation

@philipph-askui

Copy link
Copy Markdown
Contributor

What

Enable Python 3.14 by widening requires-python to >=3.11, <3.15 and regenerating the lock.

Why

The scipy/numpy releases that ship Python 3.14 wheels (scipy >=1.16, numpy >=2.3) dropped Python 3.10 wheels. A PDM universal lock pins one version per package, and that version must have a wheel for every Python in the range — so no single scipy/numpy version can cover both 3.10 and 3.14.

scipy 1.17.1 / numpy 2.4.6 ship wheels for 3.11 through 3.14, so:

  • 3.11–3.14 are supported together (single universal lock, no markers).
  • 3.10 is dropped (unavoidable for 3.14 support).

Changes

  • pyproject.toml: requires-python = ">=3.11, <3.15"
  • pdm.lock: regenerated for the new range (scipy 1.17.1, numpy 2.4.6)
  • .gitignore: ignore the pdm-generated .python-version

Verification

On Python 3.14.3: pdm install succeeds and the full unit suite passes (482 passed).

Note

This drops Python 3.10 support. That is a hard requirement for 3.14 (the cp310 and cp314 scipy/numpy wheel sets don't overlap in any single release).

🤖 Generated with Claude Code

Raise the upper Python bound to include 3.14 and the lower bound to 3.11.

The scipy/numpy releases that ship Python 3.14 wheels (scipy >=1.16,
numpy >=2.3) dropped Python 3.10 wheels, so no single universal-lock
version can cover both 3.10 and 3.14. scipy 1.17.x / numpy 2.4.x ship
wheels for 3.11 through 3.14, so 3.11-3.14 are supported together while
3.10 is dropped.

- Regenerate pdm.lock for the new range (scipy 1.17.1, numpy 2.4.6).
- Ignore the pdm-generated .python-version file.

Verified: pdm install and the full unit suite (482 passed) on Python 3.14.3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@philipph-askui philipph-askui marked this pull request as draft June 25, 2026 14:34
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.

1 participant