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]