feat: officially support Python 3.13 #83
Merged
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.
This commit adds support for Python 3.13 in the package metadata. There were no code changes required.
As usual, we had to add some constraints to our dependencies directly. Namely:
pyarrow
only supports Python 3.13 from v18.0.0 onwardstyping-extensions
only supports Python 3.13 from v4.12.0 onwardsDirect dependencies are hard enforced by pip when installing the package, and users won't be able to install if their project requires an older version.
Additionally, I had to add constraints to two transitive dependencies:
frozenlist
only supports Python 3.13 from v1.5.0 onwardsimportlib-resources
only supports Python 3.13 from v6.0.0 onwardsTransitive dependencies are NOT envorced by pip when installing the package, and users need to manually add constraints to them. This is not our problem: it's a problem with the dependency spec of downstream packages. This is why our
constraints/
folder exists.All unit/integration tests are passing.