Skip to content

Add Python 3.15 and 3.15t to CI wheels workflow - #8

Merged
lesteve merged 3 commits into
scikit-learn:mainfrom
cclauss:patch-1
Sep 1, 2026
Merged

Add Python 3.15 and 3.15t to CI wheels workflow#8
lesteve merged 3 commits into
scikit-learn:mainfrom
cclauss:patch-1

Conversation

@cclauss

@cclauss cclauss commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

@lesteve

lesteve commented Aug 31, 2026

Copy link
Copy Markdown
Member

Nice, thanks for the PR!

Because we use cibuildwheel 4.0.0, looks like we need to enable them explicitly or update to 4.2.0 which enables them by default.

I tried the latter option which seems simpler and also numpy-release is already using cibuildwheel 4.2.0 see numpy/numpy-release#62.

@lesteve

lesteve commented Aug 31, 2026

Copy link
Copy Markdown
Member

OK the Python 3.11 is failing because it can not install scipy 1.18.1 which probably doesn't support Python 3.11.

Python 3.15 needs to install scipy 1.18.1 which is the only version to have Python 3.15 wheels.

It's probably doable to have something like this in our requirements.txt:

scipy==1.17.1; python_version == "3.11"
scipy==1.18.1; python_version != "3.11"

I am still going to leave the Python 3.15 ones run to see if there is any unexpected issue.

@cclauss

cclauss commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Please rerun the failing Python 3.15 test. It is difficult to believe that they have a 3.15t image but no 3.15 image!

++ docker run -it -v 'D:\a\scikit-learn-release\scikit-learn-release:C:/mnt' -d winamd64/python:3.15-windowsservercore
Unable to find image 'winamd64/python:3.15-windowsservercore' locally
docker: Error response from daemon: manifest for winamd64/python:3.15-windowsservercore not found: manifest unknown: manifest unknown

@cclauss

cclauss commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Added:

scipy==1.17.1; python_version == "3.11"
scipy==1.18.1; python_version != "3.11"

in both requirements files.

@lesteve

lesteve commented Sep 1, 2026

Copy link
Copy Markdown
Member

Please rerun the failing Python 3.15 test. It is difficult to believe that they have a 3.15t image but no 3.15 image!

So this error is about our additional testing that we do inside a minimal Docker image to make sure we correctly bundle the C++ MSVC runtime and OpenMP DLLs on Windows in the wheel.

The easiest thing to do is to skip it for Python 3.15 since there is no Docker image because Python 3.15 has not been released yet. There is a 3.15-rc image and historically we have been trying to use it between the Python rc and release. IMO it's not worth it since it is quite unlikely that the vendoring of DLL works differently for Python 3.15, so for now, let's just skip this on Python 3.15.

@cclauss

cclauss commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Nice!

@lesteve

lesteve commented Sep 1, 2026

Copy link
Copy Markdown
Member

Let's merge this one, thanks for the PR!

@lesteve
lesteve merged commit 892918c into scikit-learn:main Sep 1, 2026
46 checks passed
@lesteve lesteve added this to Labs Sep 1, 2026
@github-project-automation github-project-automation Bot moved this to Todo in Labs Sep 1, 2026
@github-project-automation github-project-automation Bot moved this from Todo to Done in Labs Sep 1, 2026
@cclauss
cclauss deleted the patch-1 branch September 1, 2026 07:00
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.

2 participants