Skip to content

Commit 9e5bced

Browse files
authored
pkg_resources: Remove type-only _Importer class (#11512)
1 parent 696333c commit 9e5bced

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

stubs/setuptools/pkg_resources/__init__.pyi

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
import importlib.abc
21
import types
32
import zipimport
43
from _typeshed import Incomplete
5-
from abc import ABCMeta
64
from collections.abc import Callable, Generator, Iterable, Iterator, Sequence
75
from io import BytesIO
86
from pkgutil import get_importer as get_importer
@@ -20,8 +18,10 @@ _InstallerType: TypeAlias = Callable[[Requirement], Distribution | None]
2018
_EPDistType: TypeAlias = Distribution | Requirement | str
2119
_MetadataType: TypeAlias = IResourceProvider | None
2220
_PkgReqType: TypeAlias = str | Requirement
23-
_DistFinderType: TypeAlias = Callable[[_Importer, str, bool], Generator[Distribution, None, None]]
24-
_NSHandlerType: TypeAlias = Callable[[_Importer, str, str, types.ModuleType], str]
21+
_ModuleLike: TypeAlias = object | types.ModuleType # Any object that optionally has __loader__ or __file__, usually a module
22+
_ProviderFactoryType: TypeAlias = Callable[[_ModuleLike], IResourceProvider]
23+
_DistFinderType: TypeAlias = Callable[[_T, str, bool], Iterable[Distribution]]
24+
_NSHandlerType: TypeAlias = Callable[[_T, str, str, types.ModuleType], str | None]
2525

2626
__all__ = [
2727
"require",
@@ -294,11 +294,9 @@ class ExtractionError(Exception):
294294
cache_path: str
295295
original_error: Exception
296296

297-
class _Importer(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader, metaclass=ABCMeta): ...
298-
299-
def register_finder(importer_type: type, distribution_finder: _DistFinderType) -> None: ...
300-
def register_loader_type(loader_type: type, provider_factory: Callable[[types.ModuleType], IResourceProvider]) -> None: ...
301-
def register_namespace_handler(importer_type: type, namespace_handler: _NSHandlerType) -> None: ...
297+
def register_finder(importer_type: type[_T], distribution_finder: _DistFinderType[_T]) -> None: ...
298+
def register_loader_type(loader_type: type[_ModuleLike], provider_factory: _ProviderFactoryType) -> None: ...
299+
def register_namespace_handler(importer_type: type[_T], namespace_handler: _NSHandlerType[_T]) -> None: ...
302300

303301
class IResourceProvider(IMetadataProvider, Protocol):
304302
def get_resource_filename(self, manager: ResourceManager, resource_name): ...
@@ -317,7 +315,7 @@ class NullProvider:
317315
loader: types._LoaderProtocol | None
318316
module_path: str | None
319317

320-
def __init__(self, module) -> None: ...
318+
def __init__(self, module: _ModuleLike) -> None: ...
321319
def get_resource_filename(self, manager: ResourceManager, resource_name) -> str: ...
322320
def get_resource_stream(self, manager: ResourceManager, resource_name) -> BytesIO: ...
323321
def get_resource_string(self, manager: ResourceManager, resource_name): ...

0 commit comments

Comments
 (0)