Skip to content

Commit ef42294

Browse files
authored
Avoid using new _typeshed protocol in pkg_resources for now (#11909)
1 parent a4c4076 commit ef42294

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

stubs/setuptools/pkg_resources/__init__.pyi

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import types
22
import zipimport
33
from _typeshed import Incomplete, StrPath, Unused
4-
from _typeshed.importlib import LoaderProtocol
54
from collections.abc import Callable, Generator, Iterable, Iterator, Sequence
65
from io import BytesIO
76
from itertools import chain
@@ -13,6 +12,10 @@ from zipfile import ZipInfo
1312

1413
from ._vendored_packaging import requirements as packaging_requirements, version as packaging_version
1514

15+
# TODO: Use _typeshed.importlib.LoaderProtocol once mypy has included it in its vendored typeshed
16+
class _LoaderProtocol(Protocol):
17+
def load_module(self, fullname: str, /) -> types.ModuleType: ...
18+
1619
_T = TypeVar("_T")
1720
_D = TypeVar("_D", bound=Distribution)
1821
_NestedStr: TypeAlias = str | Iterable[_NestedStr]
@@ -360,7 +363,7 @@ def evaluate_marker(text: str, extra: Incomplete | None = None) -> bool: ...
360363
class NullProvider:
361364
egg_name: str | None
362365
egg_info: str | None
363-
loader: LoaderProtocol | None
366+
loader: _LoaderProtocol | None
364367
module_path: str | None
365368

366369
def __init__(self, module: _ModuleLike) -> None: ...

0 commit comments

Comments
 (0)