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
Isolate Stdlib Extension Modules #103092
Comments
Ideally we'll get most of this done for 3.12. FWIW, there isn't enough time if it's just me, so consider this a call out to whoever can help. @erlend-aasland, @corona10, @kumaraditya303, etc. |
@terryjreedy (for _tkinter) |
I've got WIP branches for datetime, io, pickle, collections, and ssl. The three former are up as draft PRs. (FYI, I have quite a bit of CPython time scheduled for next week.) |
Regarding the freelists in |
Elementtree was isolated/ported in gh-92123. |
|
Thanks for the updates! |
@serhiy-storchaka for _tkinter. I have nothing to do with it. |
AFAICS, |
I will try to find which modules that I can support for this issue :) |
Feel free to pick up any of my draft PRs! :) |
I tried submitting some PRs(Port _datatime module, Convert _pickle module to use heap types) for multi-phase initialization last year (delayed due to PEP 687 not being accepted at that time). |
Looks like you can reopen your PRs :) |
Sure you can! I started doing some work on |
I volunteer to review the PRs as I have been doing, and leave |
FYI, I asked @Yhg1s (as 3.12 release manager) for his disposition on what changes are acceptable after beta 1, since there's certainly a chance we won't be able to finish with the above list in time. He gave me the following guidance related to the work here on extension modules:
Feel free to clarify/correct my summary, Thomas. With the above in mind, I'd like to be sure we have the proper priority for the modules that are left to port/isolate. To that end, here are some questions:
Again, ideally we will be able to wrap up this work in time for beta 1 (May 8). |
For |
Co-authored-by: Mohamed Koubaa <koubaa.m@gmail.com> Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
I had took a look for cpython/Modules/_ssl/debughelpers.c Lines 131 to 136 in 8317d51
Should we just leave it as it is? |
See PEP 687.
Currently most stdlib extension have been ported to multi-phase init. There are still a number of them to be ported, almost entirely non-builtin modules. Also, some that have already been ported still have global state that needs to be fixed.
(This is part of the effort to finish isolating multiple interpreters from each other. See gh-100227.)
High-Level Info
How to isolate modules: https://docs.python.org/3/howto/isolating-extensions.html (AKA PEP 630).
The full list of modules that need porting can be found with:
...
The full list of remaining (unsupported) global variables is:
A full analysis of the modules may be found at the bottom of this post.
(other info)
Previous Work
Related Links
TODO
Here is the list of modules that need attention, in a rough, best-effort priority order. Additional details (e.g. if there is an issue and/or PR) is found in the analysis table at the bottom.
The above does not include test modules. They don't need to be ported/isolated (except for a few which already have been).
Modules Analysis
test/example modules
These can be ported/isolated but don't have to be. They are the lowest priority.
Linked PRs
_pickle
#102982_decimal
#103381The text was updated successfully, but these errors were encountered: