Repository navigation
build(deps): bump pyo3 to 0.29 for Python 3.15 - #310
Merged
Merged
Conversation
pyo3 0.27 stops the build on interpreters it doesn't know, and 3.15.0 final ships October 9. The shared python-tests.yml and maturin-wheels.yml derive their matrix from requires-python = ">=3.10", so 3.15 joins both the moment it releases: `python / test (3.15)` would fail at `maturin develop` and take the required `python / passed` check with it, blocking every PR, and the 3.15 wheel leg would stop publish.yml before PyPI, crates.io and the release. pyo3 0.29.0 added 3.15 support (PEP 820 module init, PyModExport/PyABIInfo). No source changes: python.rs is already on the Bound/Python::attach API. Capping requires-python was the alternative, but that locks 3.15 users out of installing.
en0f
approved these changes
Oct 6, 2026
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.
Summary
Bumps
pyo3andpyo3-async-runtimes0.27 -> 0.29 so the build survives Python 3.15, which ships October 9. Raised by @en0f on #304.Why this is time-boxed
#304 moved testing and wheels onto the shared workflows, which derive their matrix from
requires-python = ">=3.10"instead of a fixed list. 3.15 enters both matrices on release day, and pyo3 0.27 refuses to build against an interpreter it doesn't know:python / test (3.15)fails atmaturin develop->python / passedfails -> every PR is blocked, since that's a required check.publish.ymlstops before PyPI, crates.io and the GitHub release.Capping
requires-pythonwas the other option, but that locks 3.15 users out of installing.Changes
Cargo.tomlandCargo.lockonly — no source changes.python.rsis already on theBound/Python::attachAPI that 0.28 and 0.29 require, so nothing in it moved.pyo3pyo3-async-runtimespyo3 0.29.0 is where 3.15 support landed (PEP 820 module init,
PyModExport/PyABIInfo); 0.29.3 is the current stable.pyo3-async-runtimes0.29 requirespyo3 ^0.29, so the two move together.Validation
No deprecation warnings from the jump.
🤖 Generated with Claude Code