NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #789 most downloaded on PyPI
Typing stubs for setuptools
Last release 1 months ago
12 Aug 2026
Release timing varies
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
173 releases · first in 2021
One column per quarter.
Use _typeshed.FileDescriptorOrPath in stubs
Use _typeshed.FileDescriptorOrPath in stubs (#9695)
[stubsabot] Bump setuptools to 67.2.*
[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:
If stubtest fails for 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
Enable flake8-pyi's Y037 (#9686)
Bump mypy to 1.0
Bump mypy to 1.0 (#9684)
Replace some instances of Any with Incomplete or proper types.
Update setuptools to 67.1 (#9664)
Replace some instances of Any with Incomplete or proper types.
setuptools: add pkg_resources.Requirement.url
setuptools: add pkg_resources.Requirement.url (#9657)
Co-authored-by: Shantanu 12621235+hauntsaninja@users.noreply.github.com
Replace Any with Incomplete in many places
Replace Any with Incomplete in many places (#9565)
Replace Any with Incomplete in many places
Replace Any with Incomplete in many places (#9558)
Fix setuptools stubtest on windows
Fix setuptools stubtest on windows (#9521)
[stubsabot] Bump setuptools to 65.7.*
[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
Add types-docutils as a dependency of types-setuptools (#9460)
Remove the need for subclassing Any
Completed based on usage of the following libraries in mypy_primer:
More pywin32 stub completion (#9308)
Completed based on usage of the following libraries in mypy_primer:
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Mark first argument of __[get|set|del]attr__ as str
Mark first argument of __[get|set|del]attr__ as str (#9245)
[stubsabot] Bump setuptools to 65.6.*
[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:
Co-authored-by: stubsabot <> Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Remove setuptools._distutils.command.bdst_msi
Remove setuptools._distutils.command.bdst_msi (#9174)
It does not exist
Fix pkg_resources.split_sections
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
Remove empty __init__ methods from classes with 0 parents (#8907)
[stubsabot] Bump setuptools to 65.5.*
[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:
setuptools/build_meta.py, setuptools/command/test.py, setuptools/monkey.py, setuptools/wheel.py.If stubtest fails for 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.*
[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.*
[stubsabot] Bump setuptools to 65.3.* (#8620)
Update setuptools to 65.1.* (#8565) Fixes #8563
Update setuptools to 65.1.* (#8565)
Fixes #8563
setuptools: fix stubtest (#8540) Fixes #8539
setuptools: fix stubtest (#8540)
Fixes #8539
[stubsabot] Bump setuptools to 64.0.*
[stubsabot] Bump setuptools to 64.0.* (#8534)
setuptools: delete _distutils.command.check.HAS_DOCUTILS
setuptools: delete _distutils.command.check.HAS_DOCUTILS (#8529)
Fixes #8527
[stubsabot] Bump setuptools to 63.4.*
[stubsabot] Bump setuptools to 63.4.* (#8493)
Co-authored-by: stubsabot <>
Remove redundant __str__ methods
Remove redundant __str__ methods (#8475)
Fix todo in setuptools.command.test
Fix todo in setuptools.command.test (#8416)
With https://github.com/python/mypy/pull/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
setuptools now vendors distutils as setuptools._distutils.
Update setuptools stubs (#8345)
setuptools now vendors distutils as setuptools._distutils.
[stubsabot] Bump setuptools to 63.2.*
[stubsabot] Bump setuptools to 63.2.* (#8301)
Co-authored-by: hauntsaninja <>
Remove Python 3.6 branches from typeshed
Remove Python 3.6 branches from typeshed (#8269)
Most of setuptools.config is not included as the module is deprecated.
[stubsabot] Bump setuptools to 62.6.* (#8224)
Most of setuptools.config is not included as the module is deprecated.
Third-party stubs: audit Callable[ , None] annotations
Third-party stubs: audit Callable[<parameters>, None] annotations (#8175)
Third-party stubs: fix several fictitious type aliases
Third-party stubs: fix several fictitious type aliases (#7958)
pkg_resources: Fix unconstrained TypeVars
pkg_resources: Fix unconstrained TypeVars (#7941)
https://github.com/pypa/setuptools/blob/499c468a57d240e5bb450bdb6daedc3e559541dd/pkg_resources/init.py#L1049
Part of #7928
More setuptools.command.easy_install definitions.
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
Third-party stubs: import from collections.abc where possible (#7637)
Use TypeAlias where possible for type aliases
Use TypeAlias where possible for type aliases (#7630)
Mark many attributes as read-only properties
Mark many attributes as read-only properties (#7591)
Use PEP 604 syntax wherever possible
Use PEP 604 syntax wherever possible (#7493)
Widen the cmdclass parameter of setuptools.setup
Widen the cmdclass parameter of setuptools.setup (#7458)
Improve some in-place BinOp methods
Improve some in-place BinOp methods (#7149)
Reduce use of Any in equality methods
Reduce use of Any in equality methods (#7081)
Co-authored-by: Akuli akuviljanen17@gmail.com
Use lowercase type everywhere
Use lowercase type everywhere (#6853)
Nothing published for this version
Use PEP 585 syntax wherever possible
Use PEP 585 syntax wherever possible (#6717)
Add mypy error codes to '# type: ignore' comments
Add mypy error codes to '# type: ignore' comments (#6379)
Reduce use of deprecated typing aliases
Reduce use of deprecated typing aliases (#6358)
Use lowercase tuple where possible
Use lowercase tuple where possible (#6170)
Add star to all non-0.1 versions
Add star to all non-0.1 versions (#6146)
Add setuptools stubs
Add setuptools stubs (#5762)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →