-
Notifications
You must be signed in to change notification settings - Fork 122
add free-threading support #877
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
Conversation
With this change, the tests run for me on a local build of Python 3.14. There are a lot of failures related to sys.getrefcount() but that seems to be an unrelated issue. Closes jcrist#810. Fixes jcrist#651. Fixes jcrist#795.
|
I just merged that PR, feel free to rebase and add support for 3.14t! |
456f10d to
746c159
Compare
done! |
|
All green now with 3.14t |
ofek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still getting ramped up on the codebase so I'm getting assistance from AI here, specifically GPT-5 Thinking (Extended).
ofek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me, thanks a lot!
Co-authored-by: Jelle Zijlstra <[email protected]>
* Fix crash when TypedDict contains incorrect metadata (jcrist#853) * Fix annotations support on 3.14 (jcrist#852) * Relax all getrefcount tests to allow lower numbers (jcrist#854) * Add 3.14 to CI (jcrist#888) * add free-threading support (jcrist#877) Co-authored-by: Jelle Zijlstra <[email protected]> * Enable Python 3.14 tests in CI Remove cp314-* from CIBW_TEST_SKIP to allow Python 3.14 tests to run. Previously, 3.14 wheels were built but tests were skipped. --------- Co-authored-by: Jelle Zijlstra <[email protected]> Co-authored-by: Miro Hrončok <[email protected]> Co-authored-by: Ofek Lev <[email protected]> Co-authored-by: Kumar Aditya <[email protected]>
This PR fixes the thread safety issues in msgspec implementation and add free-threading support as well as making it compatible with 3.14. Python 3.13t support is omitted as it is experimental and has many thread safety issues which won't be fixed.
For fixing compatibility with 3.14, many of the reference counting tests needed be adjusted to account for interpreter now using borrowed reference.
This PR includes #852 should that should be merged first.
edit: resolves #878