Fix importlib.abc.Finder base class, method availability (#11134)

This commit is contained in:
Stephen Morton
2023-12-10 03:01:44 -08:00
committed by GitHub
parent 3348ca5b10
commit d373050dbb

View File

@@ -62,10 +62,13 @@ class SourceLoader(ResourceLoader, ExecutionLoader, metaclass=ABCMeta):
def get_source(self, fullname: str) -> str | None: ...
def path_stats(self, path: str) -> Mapping[str, Any]: ...
# The base classes differ on 3.12:
if sys.version_info >= (3, 12):
# The base classes differ starting in 3.10:
if sys.version_info >= (3, 10):
# Please keep in sync with sys._MetaPathFinder
class MetaPathFinder(metaclass=ABCMeta):
if sys.version_info < (3, 12):
def find_module(self, fullname: str, path: Sequence[str] | None) -> Loader | None: ...
def invalidate_caches(self) -> None: ...
# Not defined on the actual class, but expected to exist.
def find_spec(
@@ -73,6 +76,10 @@ if sys.version_info >= (3, 12):
) -> ModuleSpec | None: ...
class PathEntryFinder(metaclass=ABCMeta):
if sys.version_info < (3, 12):
def find_module(self, fullname: str) -> Loader | None: ...
def find_loader(self, fullname: str) -> tuple[Loader | None, Sequence[str]]: ...
def invalidate_caches(self) -> None: ...
# Not defined on the actual class, but expected to exist.
def find_spec(self, fullname: str, target: types.ModuleType | None = ...) -> ModuleSpec | None: ...