-
-
Notifications
You must be signed in to change notification settings - Fork 11
Implement support for the free-threaded build of CPython 3.13 #84
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
Hey folks, thanks for all the review and sorry for the extended delay here, I was out on PTO. I've addressed most of the comments around adding some TODOs and replied to the rest. |
CodSpeed Performance ReportMerging #84 will not alter performanceComparing Summary
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #84 +/- ##
==========================================
- Coverage 89.02% 88.99% -0.04%
==========================================
Files 18 18
Lines 738 745 +7
Branches 75 75
==========================================
+ Hits 657 663 +6
- Misses 63 64 +1
Partials 18 18
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Gentle ping on this. Is there anything I can do to move it forward? |
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.
@lysnikolaou sorry for the delay
I think this is good to go once https://github.com/aio-libs/propcache/pull/84/files#r1925771536 is addressed
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 would suggest waiting for non-alpha Cython release. A Release Candidate is ok, but alpha is not.
It's a compile-time experimental feature on cpython, I don't think anybody is expecting us to have a rock solid supported implementation. It's essentially a preview release at this point, so alpha is fine at this stage (and the only thing we can offer). |
If it is experimental, py3.13t should allow failures in build&tests, only py3.13 should use Cython alpha, and all stable builds should use stable Cython. |
The discussion above is to use it only on the 3.13t release. Stable Cython is used on other versions, so this has already been addressed. |
@Dreamsorcerer I'm sorry; I've missed that the new config is applied to 3.13t only. |
The problem with this is that there's sadly no environment marker for free-threading in the constraint file (though there are plans for it). This creates a conflict between the specified build requirement and the Cython constraints for regular 3.13. Any ideas on how you'd like to proceed here? |
What all other projects that have released |
Thanks @rgommers for the pointer! This is what an older verion of this PR did, though my understanding was that the maintainers did not like that. If everyone is okay with this, I can certainly revisit that approach. |
c948a8a
to
8207cbb
Compare
@lysnikolaou I do like this approach. It'd be nice to granularly override it just for |
- Move codspeed a an optional test dependency so that it's not used in cibuildwheel - Use Cython 3.1alpha for the free-threaded build, and 3.0.x for others.
for more information, see https://pre-commit.ci
I've update this PR to use the exact same approach as |
I'm working on fixing the CI now |
Once done, feel free to reach out on matrix or discord any time you need the CI kicked |
for more information, see https://pre-commit.ci
Thanks @lysnikolaou I'm doing release now. 🤞 that we don't hit qemu issues again |
Manually checked all the workflows. Build looks good. Going to release it out now |
What do these changes do?
Are there changes in behavior for the user?
No.
Related issue number
Checklist