-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
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
gh-101100: Consolidate documentation on ModuleType
attributes
#124709
Conversation
Docs preview for the new sections in the datamodel describing module attributes: https://cpython-previews--124709.org.readthedocs.build/en/124709/reference/datamodel.html#modules |
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.
Thank you!
Doc/reference/datamodel.rst
Outdated
.. versionchanged:: 3.12 | ||
The value of :attr:`!module__loader__` is expected to be the same as | ||
:attr:`__spec__.loader <importlib.machinery.ModuleSpec.loader>`. | ||
The use of :attr:`!module.__loader__` is deprecated and slated for | ||
removal in Python 3.14. |
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.
Should this use a deprecated-removed
?
Is it documented in What's New and deprecations/pending-removal-in-3.14.rst
?
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.
Should this use a
deprecated-removed
?
I think that makes sense!
Is it documented in What's New and
deprecations/pending-removal-in-3.14.rst
?
It doesn't appear so. This note is mostly copied from the note that currently exists at https://docs.python.org/3/reference/import.html#loader__, but with some more cross-reference links added.
I'll change the directive to be .. deprecated-removed
, but I'm kinda tempted to say that adding a note to "What's new" is out of scope for this PR, which essentially moves documentation around and consolidates it rather than adding new documentation.
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.
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Barry Warsaw <[email protected]>
Co-authored-by: Barry Warsaw <[email protected]>
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'm not quite finished reviewing this, but because my laptop got rebooted, I'm hoping GH preserved my previous comments. I'll complete the review hopefully tomorrow.
When you're done making the requested changes, leave the comment: |
Thanks all for the excellent review comments! I'm going to land this now -- there's definitely still room for improvement, but I think it can all be done in followups. A summary of things that could still be clarified:
|
Thanks @AlexWaygood for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13. |
Thanks @AlexWaygood for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13. |
Thanks @AlexWaygood for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12. |
Thanks @AlexWaygood for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13. |
Sorry, @AlexWaygood, I could not cleanly backport this to
|
Sorry, @AlexWaygood, I could not cleanly backport this to
|
…tributes (python#124709) Co-authored-by: Hugo van Kemenade <[email protected]> Co-authored-by: Barry Warsaw <[email protected]> Co-authored-by: Jelle Zijlstra <[email protected]>
GH-125208 is a backport of this pull request to the 3.13 branch. |
#124709) (#125208) Co-authored-by: Hugo van Kemenade <[email protected]> Co-authored-by: Barry Warsaw <[email protected]> Co-authored-by: Jelle Zijlstra <[email protected]>
…ributes (python#124709) Co-authored-by: Hugo van Kemenade <[email protected]> Co-authored-by: Barry Warsaw <[email protected]> Co-authored-by: Jelle Zijlstra <[email protected]> (cherry-picked from commit 3024b16)
GH-125211 is a backport of this pull request to the 3.12 branch. |
#124709) (#125211) Co-authored-by: Hugo van Kemenade <[email protected]> Co-authored-by: Barry Warsaw <[email protected]> Co-authored-by: Jelle Zijlstra <[email protected]>
Note: this caused some reference warnings in the devguide via intersphinx by removing the |
Our documentation for
ModuleType
attributes is currently quite scattered. Some attributes are documented in the data model; some in the reference guide for the import system; some in the API entry fortypes.ModuleType
; and some in the API entry forimportlib.abc.Loader.load_module
. Some attributes are documented in several of these places, but the different entries say different things about the same attribute!This PR consolidates documentation for these attributes into a single list of attributes in the datamodel docs. This is a similar approach to the one we use for attributes on class objects, attributes on function objects, and attributes on code objects. (Unlike those links, though, I haven't used a table for all module attributes, since some of the import-system-related attributes are described over the course of several paragraphs!)
I've tried to keep this PR as small as possible. Unfortunately, in order to not break existing cross references in the documentation, a number of other files have had to be updated as part of the same PR.
📚 Documentation preview 📚: https://cpython-previews--124709.org.readthedocs.build/