diff --git a/stubs/setuptools/@tests/stubtest_allowlist.txt b/stubs/setuptools/@tests/stubtest_allowlist.txt index f829d404ceae..8c0909b170c3 100644 --- a/stubs/setuptools/@tests/stubtest_allowlist.txt +++ b/stubs/setuptools/@tests/stubtest_allowlist.txt @@ -123,11 +123,8 @@ setuptools._distutils.zosccompiler # Reexported from setuptools._distutils; problems should be fixed there distutils\..+ -# Private APIs -setuptools\.config\._validate_pyproject.* +# Private APIs, tests and other vendored code +setuptools.config._validate_pyproject.* setuptools.command.build_py.build_py.existing_egg_info_dir - -# Other vendored code -pkg_resources\._vendor.* -setuptools\._distutils\._vendor.* -setuptools\._vendor.* +.+?\.tests.* +.+?\._vendor.* diff --git a/stubs/setuptools/METADATA.toml b/stubs/setuptools/METADATA.toml index 7b9d441c2705..ca942e2406ae 100644 --- a/stubs/setuptools/METADATA.toml +++ b/stubs/setuptools/METADATA.toml @@ -1,4 +1,4 @@ -version = "70.3.*" +version = "71.0.*" upstream_repository = "https://github.com/pypa/setuptools" [tool.stubtest] diff --git a/stubs/setuptools/pkg_resources/__init__.pyi b/stubs/setuptools/pkg_resources/__init__.pyi index 6cfc305c1a3d..f4c4c00f9c45 100644 --- a/stubs/setuptools/pkg_resources/__init__.pyi +++ b/stubs/setuptools/pkg_resources/__init__.pyi @@ -1,6 +1,7 @@ import types import zipimport from _typeshed import BytesPath, Incomplete, StrOrBytesPath, StrPath, Unused +from _typeshed.importlib import LoaderProtocol from collections.abc import Callable, Generator, Iterable, Iterator, Sequence from io import BytesIO from itertools import chain @@ -10,7 +11,7 @@ from typing import IO, Any, ClassVar, Final, Literal, NamedTuple, NoReturn, Prot from typing_extensions import Self, TypeAlias from zipfile import ZipInfo -from ._vendored_packaging import requirements as packaging_requirements, version as packaging_version +from ._vendored_packaging import requirements as _packaging_requirements, version as _packaging_version # defined in setuptools _T = TypeVar("_T") @@ -29,10 +30,6 @@ _ProviderFactoryType: TypeAlias = Callable[[Any], IResourceProvider] _DistFinderType: TypeAlias = Callable[[_T, str, bool], Iterable[Distribution]] _NSHandlerType: TypeAlias = Callable[[_T, str, str, types.ModuleType], str | None] -# TODO: Use _typeshed.importlib.LoaderProtocol after mypy 1.11 is released -class _LoaderProtocol(Protocol): - def load_module(self, fullname: str, /) -> types.ModuleType: ... - __all__ = [ "require", "run_script", @@ -218,9 +215,9 @@ AvailableDistributions = Environment def parse_requirements(strs: _NestedStr) -> Iterator[Requirement]: ... -class RequirementParseError(packaging_requirements.InvalidRequirement): ... +class RequirementParseError(_packaging_requirements.InvalidRequirement): ... -class Requirement(packaging_requirements.Requirement): +class Requirement(_packaging_requirements.Requirement): unsafe_name: str project_name: str key: str @@ -369,7 +366,7 @@ def evaluate_marker(text: str, extra: Incomplete | None = None) -> bool: ... class NullProvider: egg_name: str | None egg_info: str | None - loader: _LoaderProtocol | None + loader: LoaderProtocol | None module_path: str def __init__(self, module: _ModuleLike) -> None: ... @@ -420,7 +417,7 @@ class Distribution(NullProvider): @property def key(self) -> str: ... @property - def parsed_version(self) -> packaging_version.Version: ... + def parsed_version(self) -> _packaging_version.Version: ... @property def version(self) -> str: ... def requires(self, extras: Iterable[str] = ()) -> list[Requirement]: ... @@ -495,7 +492,7 @@ class FileMetadata(EmptyProvider): class PEP440Warning(RuntimeWarning): ... -parse_version = packaging_version.Version +parse_version = _packaging_version.Version def yield_lines(iterable: _NestedStr) -> chain[str]: ... def split_sections(s: _NestedStr) -> Generator[tuple[str | None, list[str]], None, None]: ... diff --git a/stubs/setuptools/pkg_resources/extern/__init__.pyi b/stubs/setuptools/pkg_resources/extern/__init__.pyi deleted file mode 100644 index 1a2b2d849ebe..000000000000 --- a/stubs/setuptools/pkg_resources/extern/__init__.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from collections.abc import Generator, Iterable, Sequence -from importlib.machinery import ModuleSpec -from types import ModuleType - -class VendorImporter: - root_name: str - vendored_names: set[str] - vendor_pkg: str - def __init__(self, root_name: str, vendored_names: Iterable[str] = (), vendor_pkg: str | None = None) -> None: ... - @property - def search_path(self) -> Generator[str, None, None]: ... - def load_module(self, fullname: str) -> ModuleType: ... - def create_module(self, spec: ModuleSpec) -> ModuleType: ... - def exec_module(self, module: ModuleType) -> None: ... - def find_spec( - self, fullname: str, path: Sequence[str] | None = None, target: ModuleType | None = None - ) -> ModuleSpec | None: ... - def install(self) -> None: ... - -names: tuple[str, ...] diff --git a/stubs/setuptools/setuptools/dist.pyi b/stubs/setuptools/setuptools/dist.pyi index c7b950061b1a..6c9cba974c75 100644 --- a/stubs/setuptools/setuptools/dist.pyi +++ b/stubs/setuptools/setuptools/dist.pyi @@ -1,4 +1,4 @@ -from collections.abc import Iterable, Iterator, Mapping, MutableMapping +from collections.abc import Iterable, Iterator, MutableMapping from typing import Any from . import Command, SetuptoolsDeprecationWarning @@ -7,7 +7,6 @@ from ._distutils.dist import Distribution as _Distribution __all__ = ["Distribution"] class Distribution(_Distribution): - def patch_missing_pkg_info(self, attrs: Mapping[str, Any]) -> None: ... src_root: str | None dependency_links: list[str] setup_requires: list[str] diff --git a/stubs/setuptools/setuptools/extern/__init__.pyi b/stubs/setuptools/setuptools/extern/__init__.pyi deleted file mode 100644 index 1a2b2d849ebe..000000000000 --- a/stubs/setuptools/setuptools/extern/__init__.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from collections.abc import Generator, Iterable, Sequence -from importlib.machinery import ModuleSpec -from types import ModuleType - -class VendorImporter: - root_name: str - vendored_names: set[str] - vendor_pkg: str - def __init__(self, root_name: str, vendored_names: Iterable[str] = (), vendor_pkg: str | None = None) -> None: ... - @property - def search_path(self) -> Generator[str, None, None]: ... - def load_module(self, fullname: str) -> ModuleType: ... - def create_module(self, spec: ModuleSpec) -> ModuleType: ... - def exec_module(self, module: ModuleType) -> None: ... - def find_spec( - self, fullname: str, path: Sequence[str] | None = None, target: ModuleType | None = None - ) -> ModuleSpec | None: ... - def install(self) -> None: ... - -names: tuple[str, ...]