Skip to content

Enable support of Python 3.15 - #378

Merged
vlad-perevezentsev merged 10 commits into
masterfrom
support-python-3.15
Oct 15, 2026
Merged

vlad-perevezentsev merged 10 commits into
masterfrom
support-python-3.15

Conversation

@antonwolfy

@antonwolfy antonwolfy commented Sep 9, 2026 •

Copy link
Copy Markdown
Collaborator

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.

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
@antonwolfy antonwolfy self-assigned this Sep 9, 2026
@antonwolfy antonwolfy added this to the 2.4.0 release milestone Sep 9, 2026
antonwolfy and others added 3 commits September 9, 2026 11:51
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
antonwolfy marked this pull request as ready for review October 5, 2026 20:18
antonwolfy and others added 2 commits October 6, 2026 20:06
…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.
Comment thread .github/workflows/build-with-clang.yml Outdated
antonwolfy and others added 3 commits October 13, 2026 20:40
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 vchamarthi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM,
all the 3.15 builds looks good

Comment thread .github/workflows/build_pip.yml Outdated
Comment thread .github/workflows/build_pip.yml Outdated
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
vlad-perevezentsev self-requested a review October 15, 2026 14:07

@vlad-perevezentsev vlad-perevezentsev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM
Thank you @antonwolfy

@vlad-perevezentsev
vlad-perevezentsev merged commit 3c3b169 into master Oct 15, 2026
154 of 155 checks passed
@vlad-perevezentsev
vlad-perevezentsev deleted the support-python-3.15 branch October 15, 2026 15:20
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.

4 participants