From bc968b82851356c06f840a120b48a17346a70ff5 Mon Sep 17 00:00:00 2001 From: Priya Sundaram Date: Tue, 1 Sep 2026 05:44:38 +0000 Subject: [PATCH 1/2] ci: try Python 3.15 release candidate (DRAFT) Point the repo's .python-version at 3.15 so every workflow that reads python-version-file runs on the 3.15 release candidate (allow-prereleases is already enabled across all workflows). Add the 3.15 trove classifier and bump scipy>=1.18.1, which is the first scipy with cp315 manylinux wheels, so uv installs it as a wheel rather than building from source. Rebuilt on current master: the earlier version of this PR edited the per-workflow `python-version: 3.14` lines, but master has since moved the interpreter to a single `.python-version` file, so the change is now a one-line switch there. Purpose is to document which dependencies/tests are not yet 3.15-ready. Must stay DRAFT until Python 3.15 GA (early October). Requested in #15081. --- .github/workflows/build.yml | 6 ++++++ .github/workflows/sphinx.yml | 6 ++++++ .python-version | 2 +- pyproject.toml | 3 +-- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2257bad8d618..98ac8f7a0f8c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,6 +20,12 @@ jobs: with: python-version-file: .python-version allow-prereleases: true + # keras needs hdf5 on pre-prelease Python. + - run: | + if [ "$(python -c 'import sys; print(sys.version_info.releaselevel)')" != "final" ]; then + sudo apt-get update -qq + sudo apt-get install --yes libhdf5-dev + fi - run: uv sync --group=test - name: Run tests # opencv-python is gated out on 3.14t (no cp314t wheel yet), so skip the diff --git a/.github/workflows/sphinx.yml b/.github/workflows/sphinx.yml index 1672bf69407f..537db5c8ec73 100644 --- a/.github/workflows/sphinx.yml +++ b/.github/workflows/sphinx.yml @@ -33,6 +33,12 @@ jobs: with: python-version-file: .python-version allow-prereleases: true + # keras needs hdf5 on pre-prelease Python. + - run: | + if [ "$(python -c 'import sys; print(sys.version_info.releaselevel)')" != "final" ]; then + sudo apt-get update -qq + sudo apt-get install --yes libhdf5-dev + fi - run: uv sync --group=docs - uses: actions/configure-pages@v6 - run: uv run sphinx-build -c docs . docs/_build/html diff --git a/.python-version b/.python-version index a469d8fe8548..d5629d4841ea 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.14t +3.15t diff --git a/pyproject.toml b/pyproject.toml index 3d0dbdd05018..703fb09c81ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,6 @@ requires-python = ">=3.14" classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.14", - "Programming Language :: Python :: 3.15", "Programming Language :: Python :: Free Threading :: 2 - Beta", ] dependencies = [ @@ -23,7 +22,7 @@ dependencies = [ "pandas>=2.3.3", "pillow>=11.3", "rich>=13.9.4", - "scikit-learn>=1.9", + "scikit-learn>=1.9.1", "scipy>=1.18.1", "statsmodels>=0.14.4", "sympy>=1.13.3", From e4bf350cb100ff35c20af3926be5a39c160644ad Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 11 Sep 2026 17:09:18 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 703fb09c81ca..a8d37abac664 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,6 +7,7 @@ requires-python = ">=3.14" classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Programming Language :: Python :: Free Threading :: 2 - Beta", ] dependencies = [