Python 3.14 compatibility and chores - #16
Conversation
This is now handled via explicit enable option. See pypa/cibuildwheel#2048
fix python3.13 (was 3.12 twice) add python3.14 bump to python_requires <3.15
|
I needed cp314 support downstream, so I built and tested this branch. Sharing the results since CI hasn't run on the PR — everything below is on macOS arm64, CPython 3.14.4, Rust 1.96.0. The pyo3 bump is necessary, not just housekeeping. Current Because there's no cp314 wheel, pip/uv fall back to the sdist, hit the above, and fail — so 3.14 users currently have no working path at all, not even "install a compiler". This branch builds clean and passes: And it unblocks the wider stack. With that wheel available, a clean 3.14 environment resolves and imports the whole spaCy transformer chain:
Worth noting Happy to help with anything that would move it along. |
This fork exists for one reason: spacy-alignments has no cp314 wheel and its sdist does not build on 3.14 either, because upstream pins pyo3 ^0.24 and pyo3-ffi 0.24.2 refuses to compile against 3.14. There is no working path on 3.14, not even with a Rust toolchain, which blocks sproncy-ml and therefore its sproncy-schemas pin. Carries explosion#16 by @dsbferris — pyo3 ^0.24 -> ^0.29 plus the wheel matrix — with the Rust logic untouched. Fork-specific changes: - publish_pypi.yml removed. Inheriting it meant a tag in this repo would attempt to publish to the upstream spacy-alignments PyPI project, which must never happen from here. Deleting it is unambiguous in a way that relying on missing credentials is not. - Matrix trimmed to ubuntu-latest and macos-14, the two platforms the fleet consumes. - CIBW_BUILD limited to cp314-*. Upstream ships everything earlier, and duplicating those risks shadowing them. - Releases published rather than drafted, since a draft is not downloadable by the CI that needs the wheels. FORK.md records why this exists and, more importantly, when to delete it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CU37YPvKjxSWXHSZuDLDRn
Hi, I upgraded PyO3 to 0.29.0 to support Python 3.14. I did some required fixes and chores.
Notably, I had to remove the repo owner check from the test workflow, to be able to run it myself. You might want to drop that commit (b92d734).
Build and test workflows ran successfully, except for the macos-13 build. No clue why that one got stuck.
Cheers