-
-
Notifications
You must be signed in to change notification settings - Fork 32.1k
It Is Hard to Keep Track of the Instructions In the "Isolating Extension Modules" How-to #110812
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
Comments
@1st1, would something like the checklist I described have helped you much? |
…GH-111504) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
…otchas (pythonGH-111504) (cherry picked from commit 985679f) Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
…otchas (pythonGH-111504) (cherry picked from commit 985679f) Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
…gotchas (GH-111504) (GH-112147) gh-110812: Isolating Extension Modules HOWTO: List GC-related gotchas (GH-111504) (cherry picked from commit 985679f) Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
…gotchas (GH-111504) (GH-112148) gh-110812: Isolating Extension Modules HOWTO: List GC-related gotchas (GH-111504) (cherry picked from commit 985679f) Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
…otchas (pythonGH-111504) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Argument Clinic has a "defining class" converter which is very helpful for getting the defining class and thus the module state. But it's not mentioned in the How-to document. Should we add it to the How-to? Or is its purpose for other extension developers outside of the CPython codebase, and Argument Clinic is mainly used in the CPython codebase, so there is no need to mention it? |
(Sorry for the now-deleted comment, I misread the question) Argument Clinic is (currently) for CPython only. The public API is PyCMethod and |
Got it, thanks for the explanation! |
The linked PRs are merged, can this issue be closed? |
There's
|
…otchas (pythonGH-111504) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Uh oh!
There was an error while loading. Please reload this page.
Documentation
(https://docs.python.org/3/howto/isolating-extensions.html)
This how-to doc contains a lot of useful information. However, it can be difficult to keep track of all the instructions it provides. It is also easy to miss important steps or lose track of everything that needs to be done. I expect that doing something about this would improve the experience of people porting modules to multi-phase init, reducing their frustration.
One thing that could help is a checklist (or two 1) that condenses the instructions throughout the doc into a succinct TODO list. Imagine someone porting a module with the checklist open side-by-side with the code for the module they are porting. That would make it much easier to keep track of what needs to be (or has been) done.
The checklist would probably go in a later section of the doc, possibly at the very bottom. However, we would want a distinct link at the very top of the doc.
CC @encukou
Linked PRs
Footnotes
I expect we would have one checklist for converting a module to multi-phase init and one specifically for converting a static type to a heap type. ↩
The text was updated successfully, but these errors were encountered: