diff --git a/stdlib/distutils/cmd.pyi b/stdlib/distutils/cmd.pyi index 94838ce2c..df0896a75 100644 --- a/stdlib/distutils/cmd.pyi +++ b/stdlib/distutils/cmd.pyi @@ -2,11 +2,12 @@ from _typeshed import Incomplete, Unused from abc import abstractmethod from collections.abc import Callable, Iterable from distutils.dist import Distribution -from typing import Any, Literal +from typing import Any, ClassVar, Literal class Command: distribution: Distribution - sub_commands: list[tuple[str, Callable[[Command], bool] | None]] + # Any to work around variance issues + sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]] def __init__(self, dist: Distribution) -> None: ... @abstractmethod def initialize_options(self) -> None: ... diff --git a/stdlib/distutils/command/build.pyi b/stdlib/distutils/command/build.pyi index cf3c8a562..31fc036d4 100644 --- a/stdlib/distutils/command/build.pyi +++ b/stdlib/distutils/command/build.pyi @@ -1,4 +1,5 @@ -from typing import Any +from collections.abc import Callable +from typing import Any, ClassVar from ..cmd import Command @@ -28,4 +29,5 @@ class build(Command): def has_c_libraries(self): ... def has_ext_modules(self): ... def has_scripts(self): ... - sub_commands: Any + # Any to work around variance issues + sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]] diff --git a/stdlib/distutils/command/install.pyi b/stdlib/distutils/command/install.pyi index 661d256e6..8b2295d7a 100644 --- a/stdlib/distutils/command/install.pyi +++ b/stdlib/distutils/command/install.pyi @@ -1,4 +1,5 @@ -from typing import Any +from collections.abc import Callable +from typing import Any, ClassVar from ..cmd import Command @@ -60,4 +61,5 @@ class install(Command): def has_headers(self): ... def has_scripts(self): ... def has_data(self): ... - sub_commands: Any + # Any to work around variance issues + sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]] diff --git a/stdlib/distutils/command/register.pyi b/stdlib/distutils/command/register.pyi index f88b94113..a5e251d2d 100644 --- a/stdlib/distutils/command/register.pyi +++ b/stdlib/distutils/command/register.pyi @@ -1,10 +1,12 @@ -from typing import Any +from collections.abc import Callable +from typing import Any, ClassVar from ..config import PyPIRCCommand class register(PyPIRCCommand): description: str - sub_commands: Any + # Any to work around variance issues + sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]] list_classifiers: int strict: int def initialize_options(self) -> None: ... diff --git a/stdlib/distutils/command/sdist.pyi b/stdlib/distutils/command/sdist.pyi index 636c4a351..db303f77a 100644 --- a/stdlib/distutils/command/sdist.pyi +++ b/stdlib/distutils/command/sdist.pyi @@ -1,4 +1,5 @@ -from typing import Any +from collections.abc import Callable +from typing import Any, ClassVar from ..cmd import Command @@ -11,7 +12,8 @@ class sdist(Command): boolean_options: Any help_options: Any negative_opt: Any - sub_commands: Any + # Any to work around variance issues + sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]] READMES: Any template: Any manifest: Any diff --git a/stubs/setuptools/setuptools/_distutils/cmd.pyi b/stubs/setuptools/setuptools/_distutils/cmd.pyi index f67086103..aff610644 100644 --- a/stubs/setuptools/setuptools/_distutils/cmd.pyi +++ b/stubs/setuptools/setuptools/_distutils/cmd.pyi @@ -1,14 +1,14 @@ from _typeshed import Incomplete, Unused from abc import abstractmethod from collections.abc import Callable, Iterable -from typing import ClassVar, Literal -from typing_extensions import Self +from typing import Any, ClassVar, Literal from .dist import Distribution class Command: distribution: Distribution - sub_commands: ClassVar[list[tuple[str, Callable[[Self], bool] | None]]] + # Any to work around variance issues + sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]] def __init__(self, dist: Distribution) -> None: ... def ensure_finalized(self) -> None: ... @abstractmethod diff --git a/stubs/setuptools/setuptools/command/install.pyi b/stubs/setuptools/setuptools/command/install.pyi index aa2aabf73..b5fa8d634 100644 --- a/stubs/setuptools/setuptools/command/install.pyi +++ b/stubs/setuptools/setuptools/command/install.pyi @@ -1,3 +1,4 @@ +from collections.abc import Callable from typing import Any from .._distutils.command import install as orig @@ -5,7 +6,8 @@ from .._distutils.command import install as orig class install(orig.install): user_options: Any boolean_options: Any - new_commands: Any + # Any to work around variance issues + new_commands: list[tuple[str, Callable[[Any], bool]] | None] old_and_unmanageable: Any single_version_externally_managed: Any def initialize_options(self) -> None: ... diff --git a/stubs/setuptools/setuptools/command/upload_docs.pyi b/stubs/setuptools/setuptools/command/upload_docs.pyi index 4ba859861..57e0c20ec 100644 --- a/stubs/setuptools/setuptools/command/upload_docs.pyi +++ b/stubs/setuptools/setuptools/command/upload_docs.pyi @@ -1,6 +1,5 @@ from collections.abc import Callable from typing import Any, ClassVar -from typing_extensions import Self from .upload import upload @@ -10,8 +9,8 @@ class upload_docs(upload): user_options: ClassVar[list[tuple[str, str | None, str]]] boolean_options: ClassVar[list[str]] def has_sphinx(self): ... - # The callable parameter is self: Self, but using Self still trips up mypy - sub_commands: ClassVar[list[tuple[str, Callable[[Self], bool] | None]]] # type: ignore[assignment] + # Any to work around variance issues + sub_commands: ClassVar[list[tuple[str, Callable[[Any], bool] | None]]] upload_dir: Any target_dir: Any def initialize_options(self) -> None: ...