Skip to content

feat: officially support Python 3.13 #83

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 16, 2025
Merged

Conversation

serramatutu
Copy link
Collaborator

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 onwards
  • typing-extensions only supports Python 3.13 from v4.12.0 onwards

Direct 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 onwards
  • importlib-resources only supports Python 3.13 from v6.0.0 onwards

Transitive 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.

@serramatutu serramatutu requested a review from a team as a code owner April 16, 2025 12:36
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 onwards
- `typing-extensions ` only supports Python 3.13 from v4.12.0 onwards

Direct 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 onwards
- `importlib-resources` only supports Python 3.13 from v6.0.0 onwards

Transitive 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.
Copy link
Contributor

@DevonFulcher DevonFulcher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@serramatutu serramatutu merged commit 2cd4df0 into main Apr 16, 2025
4 checks passed
@serramatutu serramatutu deleted the serramatutu/py313 branch April 16, 2025 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants