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]