https://github.com/python/cpython/commit/2632610ec19123f7fb85effd632775011f92ab35
commit: 2632610ec19123f7fb85effd632775011f92ab35
branch: main
author: Petr Viktorin <[email protected]>
committer: encukou <[email protected]>
date: 2026-09-04T15:19:47+02:00
summary:

gh-142349: Clarify that sys.lazy_modules may contain extra items (GH-155547)

As an author of a debugging/introspection tool, I need an
honest description of what's in `lazy_modules` and what
kind of post-processing I'm expected to do.

files:
M Doc/library/sys.rst

diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index bcc8f855c06f71..d5c38d6c05cc3b 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -1488,11 +1488,24 @@ always available. Unless explicitly noted otherwise, 
all variables are read-only
 .. data:: lazy_modules
 
    A :class:`set` of fully qualified module name strings that have been lazily
-   imported in the current interpreter but not yet loaded.  When a
-   lazily imported module is accessed for the first time, its name is removed
-   from this set.
+   imported in the current interpreter but not yet loaded.
+   When a lazily imported module is accessed for the first time, its name is
+   typically removed from this set.
 
-   This attribute is intended for debugging and introspection.
+   The set may contain some additional strings.
+   It is intended for debugging and introspection, and consumers are expected
+   to verify each entry's status.
+
+   .. impl-detail::
+
+      Currently, :data:`!lazy_modules` may also contain:
+
+      * names of *attributes* (non-modules), such as ``"pathlib.Path"`` after
+        running ``lazy from pathlib import Path``, and
+      * names of items than have already been accessed.
+
+      In future versions of Python, these may be removed, and/or additional
+      extras may be added.
 
    See also :func:`set_lazy_imports` and :pep:`810`.
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to