-
Notifications
You must be signed in to change notification settings - Fork 118
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 |
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).
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!
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