Repository navigation
Enable support of Python 3.15 - #378
Merged
Merged
Conversation
Add Python 3.15 to the CI matrices and package metadata: - pyproject.toml: add the 3.15 classifier and bump requires-python to <3.16 - clang smoke builds: add 3.15 and allow-prereleases in setup-python - build_pip: add 3.15 and the conda-forge/label/python_rc RC channel - conda-package(-cf): add 3.15 rows (numpy 2.5) and the python_rc channel
setup-miniconda creates the environment with python=3.15 using only its own 'channels' input, so the release candidate must be available there too - the channel added to the later conda build/CHANNELS steps is not enough.
mkl-service has no Python 3.15 wheel on PyPI yet, so the jobs that install it through pip cannot run on 3.15. Drop 3.15 from the build_pip and clang workflow matrices until the wheel is published. Conda workflows still cover 3.15.
antonwolfy
marked this pull request as ready for review
October 5, 2026 20:18
antonwolfy
requested review from
jharlow-intel,
ndgrigorian,
vlad-perevezentsev and
xaleryb
as code owners
October 5, 2026 20:18
…d wheel The merge of master left the cp314t include row (use_pre: "") active. It overwrote the python_spec of the plain 3.14 job, so that job ran the free-threaded interpreter and failed to install mkl-service from PyPI. Comment the row out, matching the --pre row and master.
Python 3.15.0 is released: conda-forge publishes it on the main label (numpy 2.5 py315 builds included) and actions/setup-python lists it as stable. Remove the conda-forge/label/python_rc channel and the allow-prereleases setting that were only needed for the RC.
vchamarthi
approved these changes
Oct 14, 2026
vchamarthi
left a comment
Contributor
There was a problem hiding this comment.
LGTM,
all the 3.15 builds looks good
napetrov
approved these changes
Oct 14, 2026
Having "3.14" in the base python list folded the cp314 and cp314t include rows into one job, and the cp314t row won: build_pip and the conda test jobs only exercised the free-threaded 3.14 build. Restore master's base lists and add 3.15 as its own include rows pinned to the GIL build (*_cp315), like the 3.14 rows. build_pip installs mkl-service from conda-forge, which has py315 builds, so 3.15 is enabled there too.
vlad-perevezentsev
self-requested a review
October 15, 2026 14:07
vlad-perevezentsev
approved these changes
Oct 15, 2026
vlad-perevezentsev
left a comment
Collaborator
There was a problem hiding this comment.
LGTM
Thank you @antonwolfy
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.
This PR adds Python 3.15 across the CI matrices and package metadata.
Note, it relies on the legacy (GIL) behavior for 3.15; free-threading support is handled separately in #357.