Repository navigation
Conversation
Add Python 3.15 wheels, including the free-threaded build, and keep Python 3.10. NVIDIA#3080 on main adds 3.15 and also drops 3.10, so this commit takes only its 3.15 parts plus the matching 13.4.4 changes. - Cherry-pick NVIDIA#2898 (f9de579): cibuildwheel v4.1.1 -> v4.2.1 and drop CIBW_ENABLE=cpython-prerelease. v4.1.1 predates CPython 3.15.0rc1; v4.2.1 builds against 3.15.0rc2, which is ABI-compatible with 3.15.0. - Port the workflow part of NVIDIA#3096 (13.4.4): release the 3.15 wheels and remove the 3.15 allow-prereleases and continue-on-error guards, including the Linux one. - Test 3.15 and 3.15t on CUDA 13.4.2 against published cuda-bindings 13.4.4, the first release with cp315 wheels. - Add the Python 3.15 classifier and the 1.2.2 release notes, and list Python 3.10 - 3.15 on the install and support pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mdboom
reviewed
Oct 14, 2026
Comment on lines
+13
to
+14
| build. On Python 3.15, ``cuda.core`` requires ``cuda.bindings`` 13.4.4 or | ||
| newer, the first release with Python 3.15 wheels, so Python 3.15 is |
Contributor
There was a problem hiding this comment.
I guess we should make a cuda_bindings 12.9.10 release as well...?
Contributor
There was a problem hiding this comment.
See this preparation for the 12.9.10 release: #3112
Cherry-pick NVIDIA#2896 (7c4691b, cupti64_2026.3.1.dll) and NVIDIA#2982 (48f55a3, cusparseLt_13.dll). Current CUPTI and cuSPARSELt wheels ship these names, and the Windows pathfinder all_must_work tests fail without them. 13.4.x carries the same fixes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Patch release of cuda.core 1.2.1 that adds Python 3.15 wheels, including the free-threaded build. Python 3.10 stays supported, so #3080 (which also drops 3.10) cannot be cherry-picked; this PR takes only its 3.15 parts plus the matching 13.4.4 release changes. The cuda-python 13.4.4 metapackage ships 3.15 support and pins
cuda-core~=1.2.0, sopip install cuda-pythonon Python 3.15 needs a 1.2.x release with cp315 wheels. PyPI rejects new files for a release after 14 days, so the wheels cannot be added to 1.2.1. Part of #2163.Changes:
CIBW_ENABLE: cpython-prerelease. v4.1.1 predates CPython 3.15.0rc1, so the cp315 wheels this branch built for 1.2.1 used a beta interpreter with no ABI guarantee. v4.2.1 builds 3.15 by default against 3.15.0rc2, which is ABI-compatible with the final release. The one conflict was the cibuildwheel pin.ci/tools/download-wheelsno longer skips Python 3.15 artifacts, and theallow-prereleasesand Windowscontinue-on-errorguards for 3.15 go away. The Linuxcontinue-on-errorguard goes too, so 3.15 test failures fail CI.ci/test-matrix.yml: add Python 3.15 test jobs (linux-64 3.15 and 3.15t, win-64 3.15) on CUDA 13.4.2. Like every other job on this branch, they test against published cuda-bindings, here 13.4.4, the only release with cp315 wheels and the one users get on Python 3.15. A 13.4 test version matches the build version, soenv-varswould pick the bindings built in this run; each 3.15 row setsBINDINGS_SOURCE=publishedand the two skip flags through itsENVmap, the same valuesenv-varssets for published bindings. The cuda.bindings tests for 3.15 and 3.15t ran in the 13.4.4 release CI.cuda_core/pyproject.toml: add the Python 3.15 classifier.requires-pythonstays>=3.10.Release plan
Merge here, tag
cuda-core-v1.2.2on the merge commit, wait for the tag-triggered CI run, run the release workflow in dry-run mode, then release. A follow-up PR tomainadds 1.2.2 to the docs version switcher, the 1.2.2 release notes, and the Python 3.15 classifier.🤖 Generated with Claude Code