Skip to content

Conversation

@anubhav756
Copy link
Contributor

@anubhav756 anubhav756 commented Jan 9, 2026

Overview

This PR enables official support for Python 3.14 across the entire SDK.

Changes

  • Added Python 3.14 classifiers to all package pyproject.toml files.
  • Updated toolbox-core to require pydantic>=2.12.0, ensuring usage of a Python 3.14-compatible pydantic-core version.
  • Added PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to integration tests to allow PyO3-based extensions to run on the newer runtime.

@anubhav756
Copy link
Contributor Author

/gcbrun

1 similar comment
@anubhav756
Copy link
Contributor Author

/gcbrun

@anubhav756
Copy link
Contributor Author

/gcbrun(d4f296f)

@anubhav756
Copy link
Contributor Author

/gcbrun

@anubhav756
Copy link
Contributor Author

/gcbrun(d4f296f)

@anubhav756 anubhav756 changed the base branch from main to anubhav-uv January 9, 2026 21:35
@anubhav756 anubhav756 changed the title feat: add support for Python 3.14 to all packages feat: enable Python 3.14 support Jan 9, 2026
@anubhav756 anubhav756 marked this pull request as ready for review January 9, 2026 21:39
@anubhav756 anubhav756 requested a review from a team as a code owner January 9, 2026 21:39
Copy link
Contributor

@averikitsch averikitsch left a comment

Choose a reason for hiding this comment

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

What modules require "PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1"?

@anubhav756 anubhav756 force-pushed the anubhav-py314 branch 2 times, most recently from 4e372de to 5cdf5d3 Compare January 12, 2026 08:20
@anubhav756
Copy link
Contributor Author

What modules require "PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1"?

I had initially added PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 because pip was backtracking to older versions of pydantic-core which explicitly failed to build on Python 3.14 due to version errors in PyO3.

However, I verified with the new uv setup, and saw this flag is no longer necessary. Seems like uv's better resolution logic forces the installation of the latest pydantic-core, which includes native support for Python 3.14 (or handles ABI3 correctly without the flag).

I have removed the flag to keep the configuration minimal. Thanks pointing this out!

@anubhav756 anubhav756 force-pushed the anubhav-py314 branch 2 times, most recently from 5fd0424 to 9ded7b6 Compare January 12, 2026 08:57
averikitsch
averikitsch previously approved these changes Jan 12, 2026
Base automatically changed from anubhav-uv to main January 12, 2026 20:54
@anubhav756 anubhav756 dismissed averikitsch’s stale review January 12, 2026 20:54

The base branch was changed.

Updates package classifiers to include Python 3.14.
Pins pydantic>=2.12.0 in toolbox-core to ensure py314-compatible wheels.
Configures PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to fix build failures.
@anubhav756 anubhav756 merged commit 0ced95b into main Jan 13, 2026
28 checks passed
@anubhav756 anubhav756 deleted the anubhav-py314 branch January 13, 2026 09:32
@release-please release-please bot mentioned this pull request Jan 12, 2026
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.

3 participants