[setuptools] setuptools.setup Complete partially Unknown method and fix Command type variance issue (#15161)

This commit is contained in:
Avasam
2025-12-22 15:53:14 +01:00
committed by GitHub
parent 90d855985b
commit 7dea89995d
2 changed files with 46 additions and 24 deletions
@@ -0,0 +1,23 @@
from typing_extensions import assert_type
from setuptools import Command as setuptools_Command, Distribution as setuptools_Distribution, setup
from setuptools._distutils.cmd import Command as distutils_Command
from setuptools._distutils.dist import Distribution as distutils_Distribution
# Ensure that any distutils-derived classes are usable w/o type variance issues
assert_type(
setup(
cmdclass=dict[str, type[distutils_Command]](),
command_obj=dict[str, distutils_Command](),
distclass=distutils_Distribution,
),
distutils_Distribution,
)
assert_type(
setup(
cmdclass=dict[str, type[setuptools_Command]](),
command_obj=dict[str, setuptools_Command](),
distclass=setuptools_Distribution,
),
setuptools_Distribution,
)