From dc8f79e0b603b32138dd5f366f5ddf9975959ea2 Mon Sep 17 00:00:00 2001 From: Avasam Date: Sat, 20 Jul 2024 18:16:03 -0400 Subject: [PATCH 1/3] Bump setuptools to 71.0.* --- .../setuptools/@tests/stubtest_allowlist.txt | 11 ++-- stubs/setuptools/METADATA.toml | 3 +- stubs/setuptools/pkg_resources/__init__.pyi | 17 ++--- .../_vendored_packaging/__init__.pyi | 8 --- .../_vendored_packaging/markers.pyi | 13 ---- .../_vendored_packaging/requirements.pyi | 14 ---- .../_vendored_packaging/specifiers.pyi | 66 ------------------- .../_vendored_packaging/version.pyi | 49 -------------- .../pkg_resources/extern/__init__.pyi | 20 ------ stubs/setuptools/setuptools/dist.pyi | 3 +- .../setuptools/setuptools/extern/__init__.pyi | 20 ------ 11 files changed, 14 insertions(+), 210 deletions(-) delete mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi delete mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi delete mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi delete mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi delete mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi delete mode 100644 stubs/setuptools/pkg_resources/extern/__init__.pyi delete mode 100644 stubs/setuptools/setuptools/extern/__init__.pyi 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..5eed2c9c566c 100644 --- a/stubs/setuptools/METADATA.toml +++ b/stubs/setuptools/METADATA.toml @@ -1,5 +1,6 @@ -version = "70.3.*" +version = "71.0.*" upstream_repository = "https://github.com/pypa/setuptools" +requires = ["packaging"] [tool.stubtest] # darwin is equivalent to linux for OS-specific methods diff --git a/stubs/setuptools/pkg_resources/__init__.pyi b/stubs/setuptools/pkg_resources/__init__.pyi index 6cfc305c1a3d..71c0ee729c81 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 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/_vendored_packaging/__init__.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi deleted file mode 100644 index 1981f2d9b273..000000000000 --- a/stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi +++ /dev/null @@ -1,8 +0,0 @@ -__title__: str -__summary__: str -__uri__: str -__version__: str -__author__: str -__email__: str -__license__: str -__copyright__: str diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi deleted file mode 100644 index 0a7acbbf3a75..000000000000 --- a/stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi +++ /dev/null @@ -1,13 +0,0 @@ -__all__ = ["InvalidMarker", "UndefinedComparison", "UndefinedEnvironmentName", "Marker", "default_environment"] - -class InvalidMarker(ValueError): ... -class UndefinedComparison(ValueError): ... -class UndefinedEnvironmentName(ValueError): ... - -def default_environment() -> dict[str, str]: ... - -class Marker: - def __init__(self, marker: str) -> None: ... - def __hash__(self) -> int: ... - def __eq__(self, other: object) -> bool: ... - def evaluate(self, environment: dict[str, str] | None = None) -> bool: ... diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi deleted file mode 100644 index 4f909fa75a23..000000000000 --- a/stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi +++ /dev/null @@ -1,14 +0,0 @@ -from .markers import Marker -from .specifiers import SpecifierSet - -class InvalidRequirement(ValueError): ... - -class Requirement: - name: str - url: str | None - extras: set[str] - specifier: SpecifierSet - marker: Marker | None - def __init__(self, requirement_str: str) -> None: ... - def __hash__(self) -> int: ... - def __eq__(self, other: object) -> bool: ... diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi deleted file mode 100644 index ec86ea306e74..000000000000 --- a/stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi +++ /dev/null @@ -1,66 +0,0 @@ -import abc -from collections.abc import Iterable, Iterator -from typing import TypeVar -from typing_extensions import TypeAlias - -from .version import Version - -# These exist at runtime, hence the public names -UnparsedVersion: TypeAlias = Version | str -UnparsedVersionVar = TypeVar("UnparsedVersionVar", bound=UnparsedVersion) # noqa: Y001 - -class InvalidSpecifier(ValueError): ... - -class BaseSpecifier(metaclass=abc.ABCMeta): - @abc.abstractmethod - def __str__(self) -> str: ... - @abc.abstractmethod - def __hash__(self) -> int: ... - @abc.abstractmethod - def __eq__(self, other: object) -> bool: ... - @property - @abc.abstractmethod - def prereleases(self) -> bool | None: ... - @prereleases.setter - def prereleases(self, value: bool) -> None: ... - @abc.abstractmethod - def contains(self, item: str, prereleases: bool | None = None) -> bool: ... - @abc.abstractmethod - def filter(self, iterable: Iterable[UnparsedVersionVar], prereleases: bool | None = None) -> Iterator[UnparsedVersionVar]: ... - -class Specifier(BaseSpecifier): - def __init__(self, spec: str = "", prereleases: bool | None = None) -> None: ... - @property # type: ignore[override] - def prereleases(self) -> bool: ... - @prereleases.setter - def prereleases(self, value: bool) -> None: ... - @property - def operator(self) -> str: ... - @property - def version(self) -> str: ... - def __str__(self) -> str: ... # noqa: Y029 # needed as it's abstract on the superclass - def __hash__(self) -> int: ... - def __eq__(self, other: object) -> bool: ... - def __contains__(self, item: Version | str) -> bool: ... - def contains(self, item: UnparsedVersion, prereleases: bool | None = None) -> bool: ... - def filter(self, iterable: Iterable[UnparsedVersionVar], prereleases: bool | None = None) -> Iterator[UnparsedVersionVar]: ... - -class SpecifierSet(BaseSpecifier): - def __init__(self, spec: str = "", prereleases: bool | None = None) -> None: ... - @property - def prereleases(self) -> bool | None: ... - @prereleases.setter - def prereleases(self, value: bool) -> None: ... - @property - def operator(self) -> str: ... - @property - def version(self) -> str: ... - def __str__(self) -> str: ... # noqa: Y029 # needed as it's abstract on the superclass - def __hash__(self) -> int: ... - def __and__(self, other: SpecifierSet | str) -> SpecifierSet: ... - def __len__(self) -> int: ... - def __iter__(self) -> Iterator[Specifier]: ... - def __eq__(self, other: object) -> bool: ... - def __contains__(self, item: UnparsedVersion) -> bool: ... - def contains(self, item: UnparsedVersion, prereleases: bool | None = None, installed: bool | None = None) -> bool: ... - def filter(self, iterable: Iterable[UnparsedVersionVar], prereleases: bool | None = None) -> Iterator[UnparsedVersionVar]: ... diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi deleted file mode 100644 index 05e45eea17c7..000000000000 --- a/stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi +++ /dev/null @@ -1,49 +0,0 @@ -from typing import Final - -__all__ = ["VERSION_PATTERN", "parse", "Version", "InvalidVersion"] - -def parse(version: str) -> Version: ... - -class InvalidVersion(ValueError): ... - -VERSION_PATTERN: Final[str] - -class _BaseVersion: - def __hash__(self) -> int: ... - def __lt__(self, other: _BaseVersion) -> bool: ... - def __le__(self, other: _BaseVersion) -> bool: ... - def __ge__(self, other: _BaseVersion) -> bool: ... - def __gt__(self, other: _BaseVersion) -> bool: ... - def __eq__(self, other: object) -> bool: ... - def __ne__(self, other: object) -> bool: ... - -class Version(_BaseVersion): - def __init__(self, version: str) -> None: ... - @property - def epoch(self) -> int: ... - @property - def release(self) -> tuple[int, ...]: ... - @property - def pre(self) -> tuple[str, int] | None: ... - @property - def post(self) -> int | None: ... - @property - def dev(self) -> int | None: ... - @property - def local(self) -> str | None: ... - @property - def public(self) -> str: ... - @property - def base_version(self) -> str: ... - @property - def is_prerelease(self) -> bool: ... - @property - def is_postrelease(self) -> bool: ... - @property - def is_devrelease(self) -> bool: ... - @property - def major(self) -> int: ... - @property - def minor(self) -> int: ... - @property - def micro(self) -> int: ... 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, ...] From e90db16adbc9eaacc07ce2c184f486d41022d9d9 Mon Sep 17 00:00:00 2001 From: Avasam Date: Sun, 21 Jul 2024 06:19:19 -0400 Subject: [PATCH 2/3] Revert remove _vendored_packaging --- stubs/setuptools/METADATA.toml | 1 - stubs/setuptools/pkg_resources/__init__.pyi | 2 +- .../_vendored_packaging/__init__.pyi | 8 +++ .../_vendored_packaging/markers.pyi | 13 ++++ .../_vendored_packaging/requirements.pyi | 14 ++++ .../_vendored_packaging/specifiers.pyi | 66 +++++++++++++++++++ .../_vendored_packaging/version.pyi | 49 ++++++++++++++ 7 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi create mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi create mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi create mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi create mode 100644 stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi diff --git a/stubs/setuptools/METADATA.toml b/stubs/setuptools/METADATA.toml index 5eed2c9c566c..ca942e2406ae 100644 --- a/stubs/setuptools/METADATA.toml +++ b/stubs/setuptools/METADATA.toml @@ -1,6 +1,5 @@ version = "71.0.*" upstream_repository = "https://github.com/pypa/setuptools" -requires = ["packaging"] [tool.stubtest] # darwin is equivalent to linux for OS-specific methods diff --git a/stubs/setuptools/pkg_resources/__init__.pyi b/stubs/setuptools/pkg_resources/__init__.pyi index 71c0ee729c81..e416649993c4 100644 --- a/stubs/setuptools/pkg_resources/__init__.pyi +++ b/stubs/setuptools/pkg_resources/__init__.pyi @@ -11,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 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") diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi new file mode 100644 index 000000000000..1981f2d9b273 --- /dev/null +++ b/stubs/setuptools/pkg_resources/_vendored_packaging/__init__.pyi @@ -0,0 +1,8 @@ +__title__: str +__summary__: str +__uri__: str +__version__: str +__author__: str +__email__: str +__license__: str +__copyright__: str diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi new file mode 100644 index 000000000000..0a7acbbf3a75 --- /dev/null +++ b/stubs/setuptools/pkg_resources/_vendored_packaging/markers.pyi @@ -0,0 +1,13 @@ +__all__ = ["InvalidMarker", "UndefinedComparison", "UndefinedEnvironmentName", "Marker", "default_environment"] + +class InvalidMarker(ValueError): ... +class UndefinedComparison(ValueError): ... +class UndefinedEnvironmentName(ValueError): ... + +def default_environment() -> dict[str, str]: ... + +class Marker: + def __init__(self, marker: str) -> None: ... + def __hash__(self) -> int: ... + def __eq__(self, other: object) -> bool: ... + def evaluate(self, environment: dict[str, str] | None = None) -> bool: ... diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi new file mode 100644 index 000000000000..4f909fa75a23 --- /dev/null +++ b/stubs/setuptools/pkg_resources/_vendored_packaging/requirements.pyi @@ -0,0 +1,14 @@ +from .markers import Marker +from .specifiers import SpecifierSet + +class InvalidRequirement(ValueError): ... + +class Requirement: + name: str + url: str | None + extras: set[str] + specifier: SpecifierSet + marker: Marker | None + def __init__(self, requirement_str: str) -> None: ... + def __hash__(self) -> int: ... + def __eq__(self, other: object) -> bool: ... diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi new file mode 100644 index 000000000000..ec86ea306e74 --- /dev/null +++ b/stubs/setuptools/pkg_resources/_vendored_packaging/specifiers.pyi @@ -0,0 +1,66 @@ +import abc +from collections.abc import Iterable, Iterator +from typing import TypeVar +from typing_extensions import TypeAlias + +from .version import Version + +# These exist at runtime, hence the public names +UnparsedVersion: TypeAlias = Version | str +UnparsedVersionVar = TypeVar("UnparsedVersionVar", bound=UnparsedVersion) # noqa: Y001 + +class InvalidSpecifier(ValueError): ... + +class BaseSpecifier(metaclass=abc.ABCMeta): + @abc.abstractmethod + def __str__(self) -> str: ... + @abc.abstractmethod + def __hash__(self) -> int: ... + @abc.abstractmethod + def __eq__(self, other: object) -> bool: ... + @property + @abc.abstractmethod + def prereleases(self) -> bool | None: ... + @prereleases.setter + def prereleases(self, value: bool) -> None: ... + @abc.abstractmethod + def contains(self, item: str, prereleases: bool | None = None) -> bool: ... + @abc.abstractmethod + def filter(self, iterable: Iterable[UnparsedVersionVar], prereleases: bool | None = None) -> Iterator[UnparsedVersionVar]: ... + +class Specifier(BaseSpecifier): + def __init__(self, spec: str = "", prereleases: bool | None = None) -> None: ... + @property # type: ignore[override] + def prereleases(self) -> bool: ... + @prereleases.setter + def prereleases(self, value: bool) -> None: ... + @property + def operator(self) -> str: ... + @property + def version(self) -> str: ... + def __str__(self) -> str: ... # noqa: Y029 # needed as it's abstract on the superclass + def __hash__(self) -> int: ... + def __eq__(self, other: object) -> bool: ... + def __contains__(self, item: Version | str) -> bool: ... + def contains(self, item: UnparsedVersion, prereleases: bool | None = None) -> bool: ... + def filter(self, iterable: Iterable[UnparsedVersionVar], prereleases: bool | None = None) -> Iterator[UnparsedVersionVar]: ... + +class SpecifierSet(BaseSpecifier): + def __init__(self, spec: str = "", prereleases: bool | None = None) -> None: ... + @property + def prereleases(self) -> bool | None: ... + @prereleases.setter + def prereleases(self, value: bool) -> None: ... + @property + def operator(self) -> str: ... + @property + def version(self) -> str: ... + def __str__(self) -> str: ... # noqa: Y029 # needed as it's abstract on the superclass + def __hash__(self) -> int: ... + def __and__(self, other: SpecifierSet | str) -> SpecifierSet: ... + def __len__(self) -> int: ... + def __iter__(self) -> Iterator[Specifier]: ... + def __eq__(self, other: object) -> bool: ... + def __contains__(self, item: UnparsedVersion) -> bool: ... + def contains(self, item: UnparsedVersion, prereleases: bool | None = None, installed: bool | None = None) -> bool: ... + def filter(self, iterable: Iterable[UnparsedVersionVar], prereleases: bool | None = None) -> Iterator[UnparsedVersionVar]: ... diff --git a/stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi b/stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi new file mode 100644 index 000000000000..05e45eea17c7 --- /dev/null +++ b/stubs/setuptools/pkg_resources/_vendored_packaging/version.pyi @@ -0,0 +1,49 @@ +from typing import Final + +__all__ = ["VERSION_PATTERN", "parse", "Version", "InvalidVersion"] + +def parse(version: str) -> Version: ... + +class InvalidVersion(ValueError): ... + +VERSION_PATTERN: Final[str] + +class _BaseVersion: + def __hash__(self) -> int: ... + def __lt__(self, other: _BaseVersion) -> bool: ... + def __le__(self, other: _BaseVersion) -> bool: ... + def __ge__(self, other: _BaseVersion) -> bool: ... + def __gt__(self, other: _BaseVersion) -> bool: ... + def __eq__(self, other: object) -> bool: ... + def __ne__(self, other: object) -> bool: ... + +class Version(_BaseVersion): + def __init__(self, version: str) -> None: ... + @property + def epoch(self) -> int: ... + @property + def release(self) -> tuple[int, ...]: ... + @property + def pre(self) -> tuple[str, int] | None: ... + @property + def post(self) -> int | None: ... + @property + def dev(self) -> int | None: ... + @property + def local(self) -> str | None: ... + @property + def public(self) -> str: ... + @property + def base_version(self) -> str: ... + @property + def is_prerelease(self) -> bool: ... + @property + def is_postrelease(self) -> bool: ... + @property + def is_devrelease(self) -> bool: ... + @property + def major(self) -> int: ... + @property + def minor(self) -> int: ... + @property + def micro(self) -> int: ... From 8933e89f0d7eb03dea558afa64387df9cc5c9ffd Mon Sep 17 00:00:00 2001 From: Avasam Date: Sun, 21 Jul 2024 06:22:51 -0400 Subject: [PATCH 3/3] typo --- stubs/setuptools/pkg_resources/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/setuptools/pkg_resources/__init__.pyi b/stubs/setuptools/pkg_resources/__init__.pyi index e416649993c4..f4c4c00f9c45 100644 --- a/stubs/setuptools/pkg_resources/__init__.pyi +++ b/stubs/setuptools/pkg_resources/__init__.pyi @@ -11,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")