https://github.com/python/cpython/commit/0284ce81c9615432473abac709d5b261a49399ad
commit: 0284ce81c9615432473abac709d5b261a49399ad
branch: main
author: Brett Cannon <[email protected]>
committer: brettcannon <[email protected]>
date: 2026-07-27T20:18:53Z
summary:

gh-154675: reorganize some imports in importlib (#154657)

files:
M Lib/importlib/abc.py
M Lib/importlib/machinery.py
M Lib/importlib/util.py

diff --git a/Lib/importlib/abc.py b/Lib/importlib/abc.py
index 9ca127ad9c7d0fd..ec68379e76f6f31 100644
--- a/Lib/importlib/abc.py
+++ b/Lib/importlib/abc.py
@@ -1,6 +1,7 @@
 """Abstract base classes related to import."""
 from . import _bootstrap_external
 from . import machinery
+
 try:
     import _frozen_importlib
 except ImportError as exc:
@@ -11,10 +12,12 @@
     import _frozen_importlib_external
 except ImportError:
     _frozen_importlib_external = _bootstrap_external
-from ._abc import Loader
 import abc
 
 
+# Public API
+from ._abc import Loader
+
 __all__ = [
     'Loader', 'MetaPathFinder', 'PathEntryFinder',
     'ResourceLoader', 'InspectLoader', 'ExecutionLoader',
diff --git a/Lib/importlib/machinery.py b/Lib/importlib/machinery.py
index 023f77d750fd2bc..b22e538862299ff 100644
--- a/Lib/importlib/machinery.py
+++ b/Lib/importlib/machinery.py
@@ -1,5 +1,9 @@
 """The machinery of importlib: finders, loaders, hooks, etc."""
 
+lazy import warnings
+
+
+# Public API
 from ._bootstrap import ModuleSpec
 from ._bootstrap import BuiltinImporter
 from ._bootstrap import FrozenImporter
@@ -33,8 +37,6 @@ def all_suffixes():
 
 
 def __getattr__(name):
-    import warnings
-
     if name == 'DEBUG_BYTECODE_SUFFIXES':
         warnings.warn('importlib.machinery.DEBUG_BYTECODE_SUFFIXES is '
                       'deprecated; use importlib.machinery.BYTECODE_SUFFIXES '
diff --git a/Lib/importlib/util.py b/Lib/importlib/util.py
index 2b564e9b52e0cb2..dbce696dc8d169a 100644
--- a/Lib/importlib/util.py
+++ b/Lib/importlib/util.py
@@ -1,19 +1,23 @@
 """Utility code for constructing importers, etc."""
+
+from ._bootstrap import _resolve_name
+from ._bootstrap import _find_spec
+
+import _imp
+import sys
+import types
+
+
+# Public API
 from ._abc import Loader
 from ._bootstrap import module_from_spec
-from ._bootstrap import _resolve_name
 from ._bootstrap import spec_from_loader
-from ._bootstrap import _find_spec
 from ._bootstrap_external import MAGIC_NUMBER
 from ._bootstrap_external import cache_from_source
 from ._bootstrap_external import decode_source
 from ._bootstrap_external import source_from_cache
 from ._bootstrap_external import spec_from_file_location
 
-import _imp
-import sys
-import types
-
 
 def source_hash(source_bytes):
     "Return the hash of *source_bytes* as used in hash-based pyc files."

_______________________________________________
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