Skip to content

Add Python 3.13–3.15 and free-threading wheel support - #2314

Open
hawkinsp wants to merge 1 commit into
google:mainfrom
hawkinsp:wheels
Open

hawkinsp wants to merge 1 commit into
google:mainfrom
hawkinsp:wheels

Conversation

@hawkinsp

@hawkinsp hawkinsp commented Oct 2, 2026

Copy link
Copy Markdown
Member

Update Python bindings to support Python 3.10–3.15, including free-threaded 3.14t and 3.15t builds.

Switch the wheel build to nanobind 3 split mode (nanobind-backend>=1.0), which moves Python-version-specific runtime internals into nanobind-backend so that stable ABI wheels work starting from Python 3.10 instead of 3.12 and support PEP 803 (abi3t) on Python 3.15t+. This reduces the wheel matrix to three wheels per platform architecture (cp310-abi3, cp314-cp314t, and cp315-abi3t), and the cp310-abi3 and cp315-abi3t wheels should be forward-compatible with future Python releases.

Updates the bazel version for compatibility with rules_python 2.4, which is in turn required for Python 3.15 support.

Assisted-by: Gemini

@hawkinsp

hawkinsp commented Oct 2, 2026

Copy link
Copy Markdown
Member Author

@nicholasjng fyi

@hawkinsp
hawkinsp force-pushed the wheels branch 2 times, most recently from baf5335 to fd56d24 Compare October 2, 2026 17:27
Comment thread MODULE.bazel
Comment thread setup.py
@hawkinsp
hawkinsp force-pushed the wheels branch 2 times, most recently from 5a95315 to 36ef427 Compare October 2, 2026 17:49
Update Python bindings to support Python 3.10–3.15, including free-threaded
3.14t and 3.15t builds.

Switch the wheel build to nanobind 3 split mode (`nanobind-backend>=1.0`),
which moves Python-version-specific runtime internals into `nanobind-backend`
so that stable ABI wheels work starting from Python 3.10 instead of 3.12 and
support PEP 803 (`abi3t`) on Python 3.15t+. This reduces the wheel matrix to
three wheels per platform architecture (`cp310-abi3`, `cp314-cp314t`, and
`cp315-abi3t`), and the `cp310-abi3` and `cp315-abi3t` wheels should be
forward-compatible with future Python releases.

Assisted-by: Gemini
@hawkinsp
hawkinsp marked this pull request as ready for review October 2, 2026 18:19
@hawkinsp

hawkinsp commented Oct 2, 2026

Copy link
Copy Markdown
Member Author

The "Github Actions Scan" failure is from code this PR does not touch.

@oontvoo oontvoo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LG. Thanks!

This branch has not been deployed

No deployments
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.

3 participants