Skip to content

Commit cf1ff45

Browse files
committed
Merge branch 'main' into debt/pbr-without-pkg_resources
2 parents ca42772 + 049815b commit cf1ff45

285 files changed

Lines changed: 5812 additions & 20526 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 80.9.0
2+
current_version = 81.0.0
33
commit = True
44
tag = True
55

.github/workflows/main.yml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,20 @@ jobs:
8383
with:
8484
python-version: ${{ matrix.python }}
8585
allow-prereleases: true
86+
# Workaround for actions/setup-python#981 on macos
87+
# Workaround for https://github.com/pypa/setuptools/issues/5143 on windows
88+
# (env var only modified for this specific step)
8689
env:
87-
# Workaround for actions/setup-python#981 (env var only modified for this specific step)
88-
SETUPTOOLS_USE_DISTUTILS: ${{ matrix.platform == 'macos-latest' && matrix.python == '3.9' && 'stdlib' || matrix.distutils || 'local' }}
90+
SETUPTOOLS_USE_DISTUTILS: >-
91+
${{
92+
(
93+
( matrix.platform == 'macos-latest' || matrix.platform == 'windows-latest' )
94+
&& matrix.python == '3.9'
95+
&& 'stdlib'
96+
)
97+
|| matrix.distutils
98+
|| 'local'
99+
}}
89100
- uses: actions/cache@v4
90101
id: cache
91102
with:
@@ -169,7 +180,7 @@ jobs:
169180
- name: Decide whether the needed jobs succeeded or failed
170181
uses: re-actors/alls-green@release/v1
171182
with:
172-
allowed-skips: integration-test
183+
allowed-skips: check-changed-folders, integration-test
173184
jobs: ${{ toJSON(needs) }}
174185

175186
test_cygwin:
@@ -229,7 +240,7 @@ jobs:
229240
VM-${{ matrix.platform }},
230241
Py-${{ steps.python-install.outputs.python-version }}
231242
token: ${{ secrets.CODECOV_TOKEN }}
232-
243+
233244
check-changed-folders:
234245
name: Fail the job if files changed under _disutils/_vendor folders
235246
if: github.event_name == 'pull_request'
@@ -241,13 +252,13 @@ jobs:
241252
fetch-depth: 0
242253
- name: Check if files changed in the _distutils folder
243254
id: changed-files-specific-distutils
244-
uses: tj-actions/changed-files@v34
255+
uses: tj-actions/changed-files@v46
245256
with:
246257
files: |
247258
setuptools/_distutils/**
248259
- name: Check if files changed in the _vendor folder
249260
id: changed-files-specific-vendor
250-
uses: tj-actions/changed-files@v34
261+
uses: tj-actions/changed-files@v46
251262
with:
252263
files: |
253264
setuptools/_vendor/**
@@ -296,7 +307,10 @@ jobs:
296307
contents: write
297308
needs:
298309
- check
299-
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
310+
if: >- # `always()` prevents auto-cancellation when previous steps are skipped (#5151):
311+
always()
312+
&& needs.check.result == 'success'
313+
&& github.event_name == 'push' && github.ref_type == 'tag'
300314
runs-on: ubuntu-latest
301315
timeout-minutes: 75
302316
steps:

NEWS.rst

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
1+
v81.0.0
2+
=======
3+
4+
Deprecations and Removals
5+
-------------------------
6+
7+
- Removed support for the --dry-run parameter to setup.py. This one feature by its nature threads through lots of core and ancillary functionality, adding complexity and friction. Removal of this parameter will help decouple the compiler functionality from distutils and thus the eventual full integration of distutils. These changes do affect some class and function signatures, so any derivative functionality may require some compatibility shims to support their expected interface. Please report any issues to the Setuptools project for investigation. (#4872)
8+
9+
10+
v80.10.2
11+
========
12+
13+
Bugfixes
14+
--------
15+
16+
- Update vendored dependencies. (#5159)
17+
18+
19+
Misc
20+
----
21+
22+
- #5115, #5128
23+
24+
25+
v80.10.1
26+
========
27+
28+
Misc
29+
----
30+
31+
- #5152
32+
33+
34+
v80.10.0
35+
========
36+
37+
Features
38+
--------
39+
40+
- Remove post-release tags on setuptools' own build. (#4530)
41+
- Refreshed vendored dependencies. (#5139)
42+
43+
44+
Misc
45+
----
46+
47+
- #5033
48+
49+
150
v80.9.0
251
=======
352

@@ -329,6 +378,15 @@ Bugfixes
329378
- Restore ``distutils.ccompiler.compiler_class`` -- by :user:`Avasam` (#4876)
330379

331380

381+
v75.3.3
382+
=======
383+
384+
Bugfixes
385+
--------
386+
387+
- Backported security fix for package index to 75.3.x for Python 3.8. (#5009)
388+
389+
332390
v75.3.2
333391
=======
334392

docs/userguide/pyproject_config.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ Key Value Type (TOML) Notes
9999
``ext-modules`` array of **Experimental** - Each item corresponds to a
100100
tables/inline-tables :class:`setuptools.Extension` object and may define
101101
the associated parameters in :wiki:`kebab-case`.
102+
See :doc:`/userguide/ext_modules`.
102103
``packages`` array or ``find`` directive See tip below.
103104
``package-dir`` table/inline-table Used when explicitly/manually listing ``packages``.
104105
------------------------- --------------------------- -------------------------

newsfragments/4530.feature.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

newsfragments/5033.misc.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ backend-path = ["."]
1010

1111
[project]
1212
name = "setuptools"
13-
version = "80.9.0"
13+
version = "81.0.0"
1414
authors = [
1515
{ name = "Python Packaging Authority", email = "distutils-sig@python.org" },
1616
]
@@ -117,8 +117,8 @@ check = [
117117

118118
# local
119119

120-
# Removal of deprecated UP027, PT004 & PT005 astral-sh/ruff#14383
121-
"ruff >= 0.8.0; sys_platform != 'cygwin'",
120+
# Deprecated rules must now be selected by exact rule code
121+
"ruff >= 0.13.0; sys_platform != 'cygwin'",
122122
]
123123

124124
cover = [
@@ -138,7 +138,7 @@ type = [
138138
# pin mypy version so a new version doesn't suddenly cause the CI to fail,
139139
# until types-setuptools is removed from typeshed.
140140
# For help with static-typing issues, or mypy update, ping @Avasam
141-
"mypy==1.14.*",
141+
"mypy==1.18.*",
142142
# Typing fixes in version newer than we require at runtime
143143
"importlib_metadata>=7.0.2; python_version < '3.10'",
144144
# Imported unconditionally in tools/finalize.py

ruff.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,14 @@ ignore = [
6565
"TRY003", # raise-vanilla-args, avoid multitude of exception classes
6666
"TRY301", # raise-within-try, it's handy
6767
"UP015", # redundant-open-modes, explicit is preferred
68-
"UP038", # Using `X | Y` in `isinstance` call is slower and more verbose https://github.com/astral-sh/ruff/issues/7871
6968
# Only enforcing return type annotations for public functions
7069
"ANN202", # missing-return-type-private-function
7170
]
7271

7372
[lint.per-file-ignores]
7473
# Suppress nuisance warnings about module-import-not-at-top-of-file (E402) due to workaround for #4476
7574
"setuptools/__init__.py" = ["E402"]
75+
# pkg_resources is due for removal, not worth fixing existing errors
7676
"pkg_resources/__init__.py" = ["E402", "ANN204"]
7777
"pkg_resources/tests/test_resources.py" = ["PT031"]
7878

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ class install_with_pth(install):
2424

2525
_pth_name = 'distutils-precedence'
2626
_pth_contents = (
27-
textwrap.dedent(
27+
textwrap
28+
.dedent(
2829
"""
2930
import os
3031
var = 'SETUPTOOLS_USE_DISTUTILS'

setuptools/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,12 @@ class Command(_Command):
167167
command_consumes_arguments = False
168168
distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
169169

170+
dry_run = False # type: ignore[assignment] # pyright: ignore[reportAssignmentType] (until #4689; see #4872)
171+
"""
172+
For compatibility with vendored bdist_wheel.
173+
https://github.com/pypa/setuptools/pull/4872/files#r1986395142
174+
"""
175+
170176
def __init__(self, dist: Distribution, **kw) -> None:
171177
"""
172178
Construct the command for dist, updating

0 commit comments

Comments
 (0)