Skip to content

Commit 9a0198f

Browse files
authored
[importlib] Add MetaPathFinder/PathEntryFinder.discover for Python 3.15 (#16158)
1 parent f5602e7 commit 9a0198f

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

stdlib/@tests/stubtest_allowlists/py315.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
_frozen_importlib.BuiltinImporter.load_module
66
_frozen_importlib.FrozenImporter.load_module
7-
_frozen_importlib_external.FileFinder.discover
87
_frozen_importlib_external.NamespaceLoader.load_module
98
_frozen_importlib_external.NamespacePath
109
_frozen_importlib_external.PathFinder.discover
@@ -22,8 +21,6 @@ dataclasses._MISSING_TYPE
2221
dataclasses.field
2322
importlib._abc.Loader.load_module
2423
importlib._bootstrap_external.NamespacePath
25-
importlib.abc.MetaPathFinder.discover
26-
importlib.abc.PathEntryFinder.discover
2724
importlib.resources._common.package_to_anchor
2825
mailbox._ProxyFile.__class_getitem__
2926
multiprocessing.process.BaseProcess.__init__

stdlib/importlib/abc.pyi

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import sys
33
import types
44
from _typeshed import ReadableBuffer, StrPath
55
from abc import ABCMeta, abstractmethod
6-
from collections.abc import Iterator, Mapping, Sequence
6+
from collections.abc import Iterable, Iterator, Mapping, Sequence
77
from importlib import _bootstrap_external
88
from importlib._abc import Loader as Loader
99
from importlib.machinery import ModuleSpec
@@ -77,6 +77,8 @@ class MetaPathFinder(metaclass=ABCMeta):
7777
def find_spec(
7878
self, fullname: str, path: Sequence[str] | None, target: types.ModuleType | None = ..., /
7979
) -> ModuleSpec | None: ...
80+
if sys.version_info >= (3, 15):
81+
def discover(self, parent: ModuleSpec | None = None) -> Iterable[ModuleSpec]: ...
8082

8183
class PathEntryFinder(metaclass=ABCMeta):
8284
if sys.version_info < (3, 12):
@@ -88,6 +90,8 @@ class PathEntryFinder(metaclass=ABCMeta):
8890
def invalidate_caches(self) -> None: ...
8991
# Not defined on the actual class, but expected to exist.
9092
def find_spec(self, fullname: str, target: types.ModuleType | None = ...) -> ModuleSpec | None: ...
93+
if sys.version_info >= (3, 15):
94+
def discover(self, parent: ModuleSpec | None = None) -> Iterable[ModuleSpec]: ...
9195

9296
class FileLoader(_bootstrap_external.FileLoader, ResourceLoader, ExecutionLoader, metaclass=ABCMeta):
9397
name: str

0 commit comments

Comments
 (0)