Repository navigation
ci: build cp313 wheels (bump cibuildwheel v2.19.2 -> v2.23.4) - #34
Merged
Merged
Conversation
v2.19.2 predates CPython 3.13 and silently skips the cp313-* entry in pyproject's [tool.cibuildwheel].build list. As a result every release (2.0.14-2.0.21) shipped cp310/cp311/cp312 wheels but no cp313, so Python 3.13 users fall through to the source sdist, which cannot build without an ICU toolchain. Bumping both the Linux and Windows jobs to the latest 2.x (cp313 is a default target since 2.21.3) restores cp313 coverage while leaving the existing CIBW_* config untouched. Verified with `cibuildwheel --print-build-identifiers`: v2.19.2: cp310/cp311/cp312 v2.23.4: cp310/cp311/cp312/cp313 Co-Authored-By: Claude Opus 4.8 (1M context) <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.
Problem
pip install NLPPlusfails on Python 3.13 (it falls through to the source sdist, which can't build without an ICU toolchain). Root cause: the publish matrix has been shipping cp310/cp311/cp312 wheels but no cp313, even thoughpyproject.toml's[tool.cibuildwheel].buildlistscp313-*.publish.ymlpinnedpypa/cibuildwheel@v2.19.2(June 2024), which predates CPython 3.13 and silently skips the unknowncp313build identifier. Every release from 2.0.14 through 2.0.21 is affected.Evidence
upload_pypilogged200 OKfor cp310/311/312 wheels + sdist — uploads succeed; cp313 was simply never built.cp312-win_amd64wheel but returns "no matching distribution" for cp313.cibuildwheel --print-build-identifiersagainst this repo's config:v2.19.2→cp310 / cp311 / cp312v2.23.4→cp310 / cp311 / cp312 / cp313Fix
Bump both the Linux and Windows jobs
pypa/cibuildwheel@v2.19.2 → v2.23.4(latest 2.x; cp313 has been a default build target since 2.21.3). This keeps the existingCIBW_*configuration untouched and is the lowest-risk change that restores cp313 coverage — v3/v4 carry breaking changes not validated here.The
skiplist (musllinux, i686, win32, macos-arm64) is still honored.Follow-up (not in this PR)
The macOS job uses bare
pip wheel .against the runner's host Python, so it currently ships only a singlecp314wheel and nothing for cp310–cp313. macOS users are under-covered too; fixing it means converting that job to cibuildwheel + vcpkg — worth its own PR.🤖 Generated with Claude Code