Use dashes instead of underscores for METADATA.toml field names (#15614)
Rename requires to dependencies in METADATA files (#15594)
Update most test/lint dependencies (#15582)
Update mypy to 1.20.0 (#15588)
[setuptools] Add missing compilers (#15394)
[stubsabot] Bump setuptools to 82.0.* (#15396)
[setuptools] Update to 81.0.* (#15387)
[stubsabot] Bump setuptools to 80.10.* (#15312)
Co-authored-by: stubsabot <>
[setuptools] setuptools.setup Complete partially Unknown method and fix Command type variance issue (#15161)
[setuptools] setuptools._distutils: spawn functions should match each other + add overload based on search_path` param (#15154)
[setuptools] Fully typed setup method (#15146)
Add missing defaults to third-party stubs (#14617)
Mark stub-only private symbols as @type_check_only in third-party stubs (#14545)
Split tool.stubtest.platforms metadata key (#13746)
Co-authored-by: Avasam samuel.06@hotmail.com Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Bump setuptools to 80.9.* (#14179)
[stubsabot] Bump setuptools to 80.8.* (#14110)
Co-authored-by: stubsabot <>
Replace Incomplete | None = None in third party stubs (#14063)
Bump setuptools to 80.7.* (#14069)
Co-authored-by: Sebastian Rittau srittau@rittau.biz
[stubsabot] Bump setuptools to 80.4.* (#13980)
Bump setuptools to 80.3.* (#13938)
Bump setuptools to 80.1.* (#13915)
Bump setuptools to 80.0.* (#13898)
[stubsabot] Bump setuptools to 79.0.* (#13860)
Co-authored-by: stubsabot <>
Update setuptools to 78.1.0 (#13734)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
[setuptools] Update to 77.0.2 (#13685)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Avasam samuel.06@hotmail.com
Bump setuptools to 76.0.0 (#13614)
Remove setuptools/pkg_resources (#13369)
[setuptools] Update to 75.8.2 (#13563)
setuptools._distutils typing improvements from merging types upstream (#13534)
Update pathname param of setuptools._distutils.util.convert_path (#13483)
Bump setuptools to 75.8.* (#13367)
setuptools: Remove problematic private module compat (#13280)
Bump setuptools to 75.6.* (#13089)
setuptools & distutils: more accurate spawn method (#13036)
Update setuptools return types (#12991)
[stubsabot] Bump setuptools to 75.5.* (#13017)
Release: https://pypi.org/pypi/setuptools/75.5.0 Repository: https://github.com/pypa/setuptools Typeshed stubs: https://github.com/python/typeshed/tree/main/stubs/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v75.4.0...v75.5.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 1 file included in typeshed's stubs has been modified or renamed:
setuptools/config/pyprojecttoml.py. - Total lines of Python code added: 0.
- Total lines of Python code deleted: 20.
If stubtest fails for this PR:
- Leave this PR open (as a reminder, and to prevent stubsabot from opening another PR)
- Fix stubtest failures in another PR, then close this PR
Note that you will need to close and re-open the PR in order to trigger CI
Co-authored-by: stubsabot <>
Update setuptools to 75.4.* (#13002)
setuptools._distutils._msvccompiler.MSVCCompiler non-None ClassVars (#12995)
Improve path-related type hints for setuptools.Extension() and distutils.CCompiler() (#12958)
Co-authored-by: Avasam samuel.06@hotmail.com
Bump setuptools to 75.3.* (#12928)
setuptools & distutils: Add more recent MSVCCompiler from _msvccompiler (#12887)
Add install_data in distutils-stubs from setuptools (#12889)
Replace Any with Incomplete in distutils (#12842)
distutils: Add some return types for setuptools to pass ANN201 (#12841)
Add missing defaults to setuptools/_distutils (#12839)
[stubsabot] Bump setuptools to 75.2.* (#12829)
Release: https://pypi.org/pypi/setuptools/75.2.0 Repository: https://github.com/pypa/setuptools Typeshed stubs: https://github.com/python/typeshed/tree/main/stubs/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v75.1.1...v75.2.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 2 files included in typeshed's stubs have been modified or renamed:
setuptools/build_meta.py,setuptools/dist.py. - Total lines of Python code added: 103.
- Total lines of Python code deleted: 41.
Correct types for setuptools.setup (#12791)
Co-authored-by: Avasam samuel.06@hotmail.com
[stubsabot] Bump setuptools to 75.1.* (#12670)
Co-authored-by: stubsabot <>
[setuptools] Bump to 75.0.* (#12668)
Co-authored-by: Avasam samuel.06@hotmail.com
distutils: add missing generated attributes (#12467)
[setuptools] Update to 74.1.* (#12614)
Co-authored-by: Avasam samuel.06@hotmail.com Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
distutils: expose Command.dry_run + make 0|1 attrs bool (#12607)
Bump setuptools to 74.0.* (#12599)
Bump setuptools to 73.0.* (#12564)
Bump setuptools to 72.2.* (#12461)
Co-authored-by: Avasam samuel.06@hotmail.com Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Update incorrect or incomplete constants in distutils (#12536)
Use Generator instead of Iterator for 3rd-party context managers (#12481)
distutils & setuptools: all possible dynamic command method overloads (#12507)
Bump mypy to 1.11.1 (#12463)
Setuptools stubs update from merging upstream (#12400)
Replace bare Any in setuptools (#12406)
setuptools & distutils: ClassVar mutables (and tuples) (#12403)
distutils: Type execute using TypeVarTuple (#12405)
Bump setuptools to 71.1.* and mark pkg_resources as obsolete (#12397)
Bump setuptools to 71.0.* (#12381)
[stubsabot] Bump setuptools to 70.3.* (#12308)
Release: https://pypi.org/pypi/setuptools/70.3.0 Repository: https://github.com/pypa/setuptools Typeshed stubs: https://github.com/python/typeshed/tree/main/stubs/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v70.2.0...v70.3.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 1 file included in typeshed's stubs has been modified or renamed:
setuptools/_distutils/sysconfig.py. - Total lines of Python code added: 35.
- Total lines of Python code deleted: 2.
If stubtest fails for this PR:
- Leave this PR open (as a reminder, and to prevent stubsabot from opening another PR)
- Fix stubtest failures in another PR, then close this PR
Note that you will need to close and re-open the PR in order to trigger CI
Co-authored-by: stubsabot <>
Bump setuptools to 70.2.* (#12261)
Update setuptools to v70.1.1 (#12215)
[setuptools] Update to 71.1.* (#12176)
Small fix for pkg_resources StrPath (#12015)
Make shutil.rmtree.onexc parameter optional (#12002)
Bump setuptools to 70.0 (#11994)
distutils & setuptools: Relax path related params (#11948)
Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com
Make distutils.dist.Distribution.get_command_obj not return None by default (#11950)
distutils & setuptools: Complete sub_commands ClassVar typing (#11951)
distutils: improve boolean parameters with int defaults (#11928)
Avoid using new _typeshed protocol in pkg_resources for now (#11909)
Use protocols instead of importlib.abc.Loader/MetaPathFinder/PathEntryFinder (#11890)
Add precise values for enum members where possible (#11299)
Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com Co-authored-by: Alex Waygood alex.waygood@gmail.com
Ensure that distutils and setuptools._distutils stay consistent (#11758)
Update setuptools to 69.5.* (#11756)
Add distutils as a top-level package included with types-setuptools (#10948)
setuptools&distutils: setup returns a Distribution (#11617)
setup returns a Distribution
Bump setuptools to 69.2.* (#11603)
pkg_resources: Make _InstallerType stricter and generic (#11527)
Bump mypy to 1.9, add to json.encoder, small fixups (#11549)
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Use strict pyright configs for pkg_resources (#11538)
pkg_resources: Updates from upstream typing merge (#11455)
pkg_resources: Remove stray Anys and use more Self & NoReturn types (#11528)
pkg_resources: Remove type-only _Importer class (#11512)
pkg_resources: Types from assignments and aliases (#11511)
Override pkg_resources.ZipProvider.loader type (#11514)
setuptools & pkg_resources: Complete VendorImporter class (#11495)
pkg_resources: don't ignore "missing symbol from stub" in stubtest (#11494)
Fix invalid noqa comments and poorly formatted type ignores (#11497)
pkg_resources: Reorder names to be closer to implementation (#11493)
Improve typing of sysconfig.get_config_var(s) (#11454)
fix: typo on setuptools (#11432)
Bump setuptools to 69.1.* (#11423)
Add missing long_description_content_type kwarg to setuptools (#11309)
Fix types for setuptools._distutils.ccompiler.CCompiler.compile (#11275)
Update typing_extensions imports in third-party stubs (#11245)
Bump setuptools to 69.0.* (#11069)
Co-authored-by: Avasam samuel.06@hotmail.com
Third-party stubs: remove unused type: ignores (#11063)
Bump flake8-pyi to 23.11.0 (#10997)
[stubsabot] Bump setuptools to 68.2.* (#10674)
Release: https://pypi.org/pypi/setuptools/68.2.0 Homepage: https://github.com/pypa/setuptools Repository: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v68.1.2...v68.2.0
Stubsabot analysis of the diff between the two releases:
- 1 public Python file has been added:
setuptools/tests/test_core_metadata.py. - 0 files included in typeshed's stubs have been deleted.
- 7 files included in typeshed's stubs have been modified or renamed:
setuptools/__init__.py,setuptools/command/editable_wheel.py,setuptools/command/egg_info.py,setuptools/depends.py,setuptools/dist.py,setuptools/monkey.py,setuptools/namespaces.py. - Total lines of Python code added: 1051.
- Total lines of Python code deleted: 682.
setuptools: add various missing objects and annotations (#10639)
[stubsabot] Bump setuptools to 68.1.* (#10588)
Release: https://pypi.org/pypi/setuptools/68.1.0 Homepage: https://github.com/pypa/setuptools Repository: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v68.0.0...v68.1.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 42 files included in typeshed's stubs have been modified or renamed.
- Total lines of Python code added: 3401.
- Total lines of Python code deleted: 2264.
Add an upstream_repository field to METADATA.toml (#10487)
Closes: #10478
Add stubs for pkg_resources._vendor.packaging (#10423)
Bring back a few setuptools._distutils files (#10401)
Bump setuptools to 68.0 (#10339)
- Any -> Incomplete in a few files
- Bump setuptools to 68.0.*
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
[stubsabot] Bump setuptools to 67.8.* (#10194)
Release: https://pypi.org/pypi/setuptools/67.8.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v67.7.2...v67.8.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 2 files included in typeshed's stubs have been modified or renamed:
setuptools/command/easy_install.py,setuptools/version.py. - Total lines of Python code added: 425.
- Total lines of Python code deleted: 215.
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Don't ignore missing stubs in setuptools (#10058)
Add partial_stub metadata field (#10157)
Avoid unnecessary forward refs in class definitions (#10124)
setuptools: bump to 67.7 (#10069)
Fixes #10067
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Add missing exception classes in setuptools.errors (#10057)
Co-authored-by: AlexWaygood alex.waygood@gmail.com
google-cloud-ndb, paramiko, setuptools: remove unnecessary = ...s (#10011)
Add defaults for third-party stubs Q-T (#9959)
distutils/setuptools: Don't use wildcards for allowlist entries (#9900)
Fill out more annotations for distutils & setuptools dist (#9895)
Signed-off-by: Henry Schreiner henryschreineriii@gmail.com Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com
[setuptools] Fully annotate Extension.init (#9899)
Add defaults to distutils.Extension.init
[distutils] Add generated methods to Distribution (#9896)
distutils.command.build_ext: add more annotations to get_ext_* methods (#9894)
Signed-off-by: Henry Schreiner henryschreineriii@gmail.com
Add missing distribution attribute to distutils.cmd.Command (#9893)
Signed-off-by: Henry Schreiner henryschreineriii@gmail.com
Add remaining types to setuptools.build_meta (#9890)
Signed-off-by: Henry Schreiner henryschreineriii@gmail.com Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
[stubsabot] Bump setuptools to 67.6.* (#9858)
Release: https://pypi.org/pypi/setuptools/67.6.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v67.5.1...v67.6.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 1 file included in typeshed's stubs has been modified or renamed:
setuptools/wheel.py. - Total lines of Python code added: 38.
- Total lines of Python code deleted: 19.
Update pkg_resources-stubs for use in pytype_test (#9747)
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
[stubsabot] Bump setuptools to 67.5.* (#9841)
Release: https://pypi.org/pypi/setuptools/67.5.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v67.4.0...v67.5.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 1 file included in typeshed's stubs has been modified or renamed:
pkg_resources/__init__.py. - Total lines of Python code added: 28.
- Total lines of Python code deleted: 23.
Remove most of setuptools._distutils (#9795)
Improve many __(a)exit__ annotations (#9696)
Update Unused parameters in stubs/ (#9704)
-
Update _Unused TypeAlias
-
Update
object | Noneparams -
Replace unused
objectparameters withUnusedalias
[stubsabot] Bump setuptools to 67.4.* (#9794)
Release: https://pypi.org/pypi/setuptools/67.4.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v67.3.3...v67.4.0
Stubsabot analysis of the diff between the two releases:
- Total lines of Python code added: 877.
- Total lines of Python code deleted: 433.
Stubtest settings: change ignore_missing_stub default to false (#9779)
If you're reading about this commit from an autogenerated changelog entry, this should have no user-visible impact on how the stubs are interpreted by a type checker; it's just an internal change to how typeshed's tests work.
Use typing_extensions.Self instead of _typeshed.Self (#9702)
[stubsabot] Bump setuptools to 67.3.* (#9738)
Use _typeshed.FileDescriptorOrPath in stubs (#9695)
[stubsabot] Bump setuptools to 67.2.* (#9691)
Release: https://pypi.org/pypi/setuptools/67.2.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v67.1.0...v67.2.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 33 files included in typeshed's stubs have been modified or renamed.
- Total lines of Python code added: 152.
- Total lines of Python code deleted: 111.
If stubtest fails for this PR:
- Leave this PR open (as a reminder, and to prevent stubsabot from opening another PR)
- Fix stubtest failures in another PR, then close this PR
Note that you will need to close and re-open the PR in order to trigger CI
Co-authored-by: stubsabot <>
Enable flake8-pyi's Y037 (#9686)
Bump mypy to 1.0 (#9684)
Update setuptools to 67.1 (#9664)
Replace some instances of Any with Incomplete or proper types.
setuptools: add pkg_resources.Requirement.url (#9657)
Co-authored-by: Shantanu 12621235+hauntsaninja@users.noreply.github.com
Replace Any with Incomplete in many places (#9565)
Replace Any with Incomplete in many places (#9558)
Fix setuptools stubtest on windows (#9521)
[stubsabot] Bump setuptools to 65.7.* (#9504)
Release: https://pypi.org/pypi/setuptools/65.7.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v65.6.3...v65.7.0
Add types-docutils as a dependency of types-setuptools (#9460)
Remove the need for subclassing Any
More pywin32 stub completion (#9308)
Completed based on usage of the following libraries in mypy_primer:
- apprise
- comtypes As well as some of the most popular libraries that use both pywin32 and mypy (all over 1k stars on github):
- certbot
- anki
- flexget
- monkey
- twisted
- salt
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Mark first argument of __[get|set|del]attr__ as str (#9245)
[stubsabot] Bump setuptools to 65.6.* (#9227)
Release: https://pypi.org/pypi/setuptools/65.6.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v65.5.1...v65.6.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 40 files included in typeshed's stubs have been modified or renamed.
- Total lines of Python code added: 637.
- Total lines of Python code deleted: 630.
Co-authored-by: stubsabot <> Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Remove setuptools._distutils.command.bdst_msi (#9174)
It does not exist
Fix pkg_resources.split_sections (#8975)
This function is currently documented as returning a list of lines as the 2nd pair value. It does not return plain str here.
Remove empty __init__ methods from classes with 0 parents (#8907)
[stubsabot] Bump setuptools to 65.5.* (#8900)
Release: https://pypi.org/pypi/setuptools/65.5.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v65.4.1...v65.5.0
Stubsabot analysis of the diff between the two releases:
- 0 public Python files have been added.
- 0 files included in typeshed's stubs have been deleted.
- 4 files included in typeshed's stubs have been modified or renamed:
setuptools/build_meta.py,setuptools/command/test.py,setuptools/monkey.py,setuptools/wheel.py. - Total lines of Python code added: 111.
- Total lines of Python code deleted: 59.
If stubtest fails for this PR:
- Leave this PR open (as a reminder, and to prevent stubsabot from opening another PR)
- Fix stubtest failures in another PR, then close this PR
Note that you will need to close and re-open the PR in order to trigger CI
Co-authored-by: stubsabot <>
[stubsabot] Bump setuptools to 65.4.* (#8811)
Release: https://pypi.org/pypi/setuptools/65.4.0 Homepage: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: https://github.com/pypa/setuptools/compare/v65.3.0...v65.4.0
[stubsabot] Bump setuptools to 65.3.* (#8620)
Update setuptools to 65.1.* (#8565)
Fixes #8563
setuptools: fix stubtest (#8540)
Fixes #8539
[stubsabot] Bump setuptools to 64.0.* (#8534)
setuptools: delete _distutils.command.check.HAS_DOCUTILS (#8529)
Fixes #8527
[stubsabot] Bump setuptools to 63.4.* (#8493)
Co-authored-by: stubsabot <>
Remove redundant __str__ methods (#8475)
Fix todo in setuptools.command.test (#8416)
With python/mypy#10884 merged and released, this should be safe to re-enable per the todo comment.
https://github.com/pypa/setuptools/blob/main/setuptools/command/test.py#L117
Update setuptools stubs (#8345)
setuptools now vendors distutils as setuptools._distutils.
[stubsabot] Bump setuptools to 63.2.* (#8301)
Co-authored-by: hauntsaninja <>
Remove Python 3.6 branches from typeshed (#8269)
[stubsabot] Bump setuptools to 62.6.* (#8224)
Most of setuptools.config is not included as the module is deprecated.
Third-party stubs: audit Callable[<parameters>, None] annotations (#8175)
Third-party stubs: fix several fictitious type aliases (#7958)
pkg_resources: Fix unconstrained TypeVars (#7941)
Part of #7928
More setuptools.command.easy_install definitions. (#7145)
Co-authored-by: Sebastian Rittau srittau@rittau.biz Co-authored-by: Akuli akuviljanen17@gmail.com
Third-party stubs: import from collections.abc where possible (#7637)
Use TypeAlias where possible for type aliases (#7630)
Mark many attributes as read-only properties (#7591)
Use PEP 604 syntax wherever possible (#7493)
Widen the cmdclass parameter of setuptools.setup (#7458)
Improve some in-place BinOp methods (#7149)
Reduce use of Any in equality methods (#7081)
Co-authored-by: Akuli akuviljanen17@gmail.com
Use lowercase type everywhere (#6853)
Use PEP 585 syntax wherever possible (#6717)
Add mypy error codes to '# type: ignore' comments (#6379)
Reduce use of deprecated typing aliases (#6358)
Use lowercase tuple where possible (#6170)
Add star to all non-0.1 versions (#6146)
Add setuptools stubs (#5762)