-
Notifications
You must be signed in to change notification settings - Fork 717
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
Tracking issue for no-gil/freethreaded work #4265
Comments
As a tiny piece of this and to try to learn the library better, I'm working on adding wrappers for the new |
Just to update the current state of things: pyo3 builds against the free-threaded build if you do:
If you use pyenv, you'll also need to locally delete or modify the This very quicky crashes inside of mimalloc internals, ultimately inside of
Just to make sure all of this is reproducible and we have some feedback on CI, I think I'm going to add a free-threaded CI job marked with |
That sounds great to me, thanks! |
* Update dict.get_item binding to use PyDict_GetItemRef Refs #4265 * test: add test for dict.get_item error path * test: add test for dict.get_item error path * test: add test for dict.get_item error path * fix: fix logic error in dict.get_item bindings * update: apply david's review suggestions for dict.get_item bindings * update: create ffi::compat to store compatibility shims * update: move PyDict_GetItemRef bindings to spot in order from dictobject.h * build: fix build warning with --no-default-features * doc: expand release note fragments * fix: fix clippy warnings * respond to review comments * Apply suggestion from @mejrs * refactor so cfg is applied to functions * properly set cfgs * fix clippy lints * Apply @davidhewitt's suggestion * deal with upstream deprecation of new_bound
I added a new checkbox for " Adopt new owned-reference-friendly C APIs". If we have a list of all the ones we need, I can make those sub-checkboxes. |
I think I also had a chat with @davidhewitt today and in addition to Our first idea is to make GILProtected a no-op on In addition we need to use I looked at adding a failing CI job, but that won't work right now because of if you run the tests on a free-threaded build with |
Ok, updated the tracking list.
|
I'm still learning the library and it shows... I think David meant |
My guess is it's a reference to |
My mistake, yes we removed the |
We didn't have a dedicated issue for this, so now there's one.
TODO:
cfg
for no-gil, but only allowed behind an experimental featurePyDict_GetItemRef
PyList_GetItemRef
PyDict_Next
PyWeakref_GetRef
PyImport_AddModuleRef
Python<'_>
indicates only a single thread is executing:pyo3::sync::GILOnceCell
PyClassBorrowChecker
GILProtected
The text was updated successfully, but these errors were encountered: