Skip to content

Release 1.7.0rc1 #31335

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
May 9, 2025
Merged

Release 1.7.0rc1 #31335

merged 9 commits into from
May 9, 2025

Conversation

jeremiedbb
Copy link
Member

@jeremiedbb jeremiedbb commented May 7, 2025

  • Update the sklearn dev0 version in main branch (MNT Bump version to 1.8.dev0 on main #31336)
  • Set the version number in the release branch
  • Generate the changelog in the release branch
  • Check that the wheels for the release can be built successfully
  • Merge the PR with [cd build] commit message to upload wheels to the staging repo
  • Upload the wheels and source tarball to https://test.pypi.org
  • Create tag on the main repo
  • Confirm bot detected at https://github.com/conda-forge/scikit-learn-feedstock
    and wait for merge
  • Upload the wheels and source tarball to PyPI
  • Announce on mailing list and on social media platforms (LinkedIn, Bluesky, etc.)

Copy link

github-actions bot commented May 7, 2025

✔️ Linting Passed

All linting checks passed. Your pull request is in excellent shape! ☀️

Generated for commit: 191bc5b. Link to the linter CI: here

pyproject.toml Outdated
Comment on lines 97 to 104
build-backend = "mesonpy"
# Minimum requirements for the build system to execute.
requires = [
"meson-python>=0.16.0",
"Cython>=3.0.10",
"numpy>=2",
"scipy>=1.8.0",
"meson-python>=0.16.0,<0.19.0",
"Cython>=3.0.10,<3.0.13",
"numpy>=2,<2.3.0",
"scipy>=1.8.0,<1.16.0",
]
Copy link
Member Author

Choose a reason for hiding this comment

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

upper bound the build dependencies in release branch. See discussions in #31183

I used the same policy as scipy, i.e upper bound to the last major/minor release at the time (allow future bug-fix releases).

cc/ @thomasjpfan @ogrisel @glemaitre @lesteve @betatim @adrinjalali

Copy link
Member

Choose a reason for hiding this comment

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

I'm okay with using the SciPy approach. (We'll need to add this policy to the release checklist)

Given this is a build dependency in pyproject.toml, distro packages can still choose to ignore them.

Copy link
Member Author

Choose a reason for hiding this comment

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

I fixed the cython upper bound in 9f3dd26, because I previously used a x.y.z version, not following the policy I just mentioned...

(We'll need to add this policy to the release checklist)

I'll make a PR to main when the rc is out.

Copy link
Member Author

Choose a reason for hiding this comment

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

So I had to modify the cython upper bound again because we need a pre-release for free-threading for now.
The current official releease is 3.0.12 so the upper bound should be 3.1.0.
But free-threading support is only available in 3.1.Zrc1, so I set the upper bound to 3.2.0.

Copy link
Member

Choose a reason for hiding this comment

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

Since the nightly builds are now green with 3.1.0rc1, I think it's fine.

@jeremiedbb
Copy link
Member Author

Looks like there's an issue with free-threading. Are you aware of this @lesteve ?

@glemaitre
Copy link
Member

Free-threaded started to fail this morning.

@jeremiedbb jeremiedbb changed the base branch from main to 1.7.X May 7, 2025 20:30
@lesteve
Copy link
Member

lesteve commented May 9, 2025

The free-threaded issue seems to have gone away for some reason, maybe a change in the runners image?

I think this happened when PYTHON_GIL=0 and conda uses vanilla Python 3.13. The work-around would be to set the environment variable only when running the tests rather than in azure-pipelines.yml

For completeness I can reproduce the error locally with a vanilla Python 3.13 and setting PYTHON_GIL=0:

❯ PYTHON_GIL=0 python
Fatal Python error: config_read_gil: Disabling the GIL is not supported by this build
Python runtime state: preinitialized

@jeremiedbb jeremiedbb merged commit 38a6848 into scikit-learn:1.7.X May 9, 2025
60 checks passed
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.

5 participants