[3.14] gh-134160: Split extension module init from PyModule docs; emphasize multi-phase init (GH-135126) #135470
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Document behaviour of single-phase init. Call it "legacy".
Reorganize PyModule docs.
Move PyInit_modulename docs from the tutorial to reference documentation.
Move PyMODINIT_FUNC docs from generic macros to the new page.
Add doc stubs for
PYTHON_API_VERSION
&PYTHON_ABI_VERSION
Remove incorrect refcounts.dat entry for
PyModuleDef_Init
.This removes the "Return value: Borrowed reference." note.
Instead, note that the function sometimes returns a borrowed reference,
sometimes as strong one.
(IMO, it's best to not think of
PyModuleDef
as aPyObject
at all,and act like it can't be reference-counted.)
(cherry picked from commit f4bc3a9)
Co-authored-by: Petr Viktorin [email protected]
Co-authored-by: Adam Turner [email protected]
Co-authored-by: Stan Ulbrych [email protected]
Co-authored-by: Hugo van Kemenade [email protected]
📚 Documentation preview 📚: https://cpython-previews--135470.org.readthedocs.build/