Repository navigation
Promote Python 3.15 to a blocking CI target - #642
Merged
Merged
Conversation
3.15.0 final is out and setup-python's manifest marks it stable, so the matrix entry drops continue-on-error and allow-prereleases, and the 3.15 classifier joins pyproject. ja-extra stays on 3.14: the numpy and scipy versions uv.lock pins have no 3.15 wheels; the comment now says which versions do. CONTRIBUTING.md's range was stale (3.10-3.14). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #642 +/- ##
=======================================
Coverage 99.02% 99.02%
=======================================
Files 46 46
Lines 4511 4512 +1
=======================================
+ Hits 4467 4468 +1
Misses 44 44 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The extra's compiled dependencies had no cp315 wheels at the versions uv.lock pinned, so its sdist builds failed on 3.15. numpy 2.5.4, scipy 1.18.1, pandas 3.0.6 and regex 2026.9.29 ship them; lightgbm is py3-none. Measured locally on 3.15.0 with source builds forbidden for those packages: the extra installs from wheels and tests/v2 passes (14201 passed, the 771 ja/segmenter tests among them, none skipped). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
uv.lock splits numpy and scipy at 3.12, so a ja-extra on 3.15 alone left the <3.12 branch (numpy 2.4.6, scipy 1.17.1) installed by no job; the job is now a [3.11, 3.15] matrix (3.11 measured locally: tests/v2 passes). Its comment states the rule rather than "the matrix's newest", and claims only the measured part (no cp315 wheels at the old pins; numpy and scipy sdist builds failing). CONTRIBUTING.md points at the matrix instead of restating its range. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Closes #259 (step 2).
Python 3.15.0 final is out. actions/python-versions marks it
stable: true, and master's CI has been testing the final release since it went live: theallow-prereleasesspec resolves to~3.15.0-0, which matched3.15.0once it shipped (run 38125388105 installedpython-3.15.0-linux-24.04-x64).Commit 1: promote 3.15 to blocking
python-package.yml: dropcontinue-on-errorfor 3.15, so a 3.15 failure now fails the build. Dropallow-prereleases: truetoo, so a future"3.16"entry can't silently pick up alphas.pyproject.toml: add theProgramming Language :: Python :: 3.15classifier.CONTRIBUTING.md: the stated CI range was stale (it said 3.10–3.14). It now points at the workflow matrix instead of restating it.docs/release_log.rst: add an Additions bullet.Commit 2: run ja-extra on 3.15
The ja extra's compiled dependencies had no cp315 wheels at the versions
uv.lockpinned, so building them from sdist failed. This commit bumps the four that need it:lightgbm ships a
py3-nonewheel, so it didn't need one. The older numpy and scipy (2.4.6 and 1.17.1, which the lock keeps for Python 3.11) are unchanged.Commit 3: ja-extra runs on 3.11 and 3.15 (review fix)
The lock splits numpy and scipy at 3.12, and ja-extra had only ever run the newer branch. It is now a matrix over the floor and the newest Python, so both branches are installed and tested. Its comment states the rule (a new top row can need a lock bump first) instead of a snapshot. Locally on 3.11,
tests/v2/passes with numpy 2.4.6 and scipy 1.17.1.Tested locally on 3.15.0 (macOS arm64), with source builds forbidden for those packages: the extra installs from wheels, and
tests/v2/passes (14201 passed). That includes the 771 ja, segmenter and namedivider tests, none of them skipped. The Linux run in this PR's CI is the check that matters.🤖 Generated with Claude Code