Skip to content

Commit 876afde

Browse files
committed
Merge remote-tracking branch 'refs/remotes/upstream/main' into 3.13/debug/fix
2 parents 0257c94 + 51de88c commit 876afde

Some content is hidden

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

57 files changed

+1025
-554
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222

2323
steps:
2424
- uses: actions/checkout@v4
25-
- uses: actions/setup-python@v4
25+
- uses: actions/setup-python@v5
2626
with:
2727
python-version: "3.x"
2828
- run: pip install nox
@@ -58,7 +58,7 @@ jobs:
5858

5959
steps:
6060
- uses: actions/checkout@v4
61-
- uses: actions/setup-python@v4
61+
- uses: actions/setup-python@v5
6262
with:
6363
python-version: "3.x"
6464
- name: Set up git credentials
@@ -82,7 +82,7 @@ jobs:
8282
8383
steps:
8484
- uses: actions/checkout@v4
85-
- uses: actions/setup-python@v4
85+
- uses: actions/setup-python@v5
8686
with:
8787
python-version: "3.x"
8888

@@ -113,7 +113,7 @@ jobs:
113113

114114
steps:
115115
- uses: actions/checkout@v4
116-
- uses: actions/setup-python@v4
116+
- uses: actions/setup-python@v5
117117
with:
118118
python-version: ${{ matrix.python }}
119119
allow-prereleases: true
@@ -165,7 +165,7 @@ jobs:
165165

166166
steps:
167167
- uses: actions/checkout@v4
168-
- uses: actions/setup-python@v4
168+
- uses: actions/setup-python@v5
169169
with:
170170
python-version: ${{ matrix.python }}
171171

@@ -216,7 +216,7 @@ jobs:
216216
217217
steps:
218218
- uses: actions/checkout@v4
219-
- uses: actions/setup-python@v4
219+
- uses: actions/setup-python@v5
220220
with:
221221
python-version: "3.10"
222222

.github/workflows/update-rtd-redirects.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
environment: RTD Deploys
2020
steps:
2121
- uses: actions/checkout@v4
22-
- uses: actions/setup-python@v4
22+
- uses: actions/setup-python@v5
2323
with:
2424
python-version: "3.11"
2525
- run: pip install httpx pyyaml rich

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Hugo van Kemenade <[email protected]> hugovk <[email protected]
2727
2828
Ilya Baryshev <[email protected]>
2929
Jakub Stasiak <[email protected]>
30+
Jean Abou Samra <[email protected]>
3031
John-Scott Atlakson <[email protected]>
3132
Jorge Niedbalski <[email protected]>
3233

.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ exclude: 'src/pip/_vendor/'
22

33
repos:
44
- repo: https://github.com/pre-commit/pre-commit-hooks
5-
rev: v4.4.0
5+
rev: v4.5.0
66
hooks:
77
- id: check-builtin-literals
88
- id: check-added-large-files
@@ -16,19 +16,19 @@ repos:
1616
- id: trailing-whitespace
1717
exclude: .patch
1818

19-
- repo: https://github.com/psf/black
20-
rev: 23.7.0
19+
- repo: https://github.com/psf/black-pre-commit-mirror
20+
rev: 23.12.1
2121
hooks:
2222
- id: black
2323

2424
- repo: https://github.com/astral-sh/ruff-pre-commit
25-
rev: v0.1.4
25+
rev: v0.2.0
2626
hooks:
2727
- id: ruff
2828
args: [--fix, --exit-non-zero-on-fix]
2929

3030
- repo: https://github.com/pre-commit/mirrors-mypy
31-
rev: v1.6.1
31+
rev: v1.8.0
3232
hooks:
3333
- id: mypy
3434
exclude: tests/data

AUTHORS.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ Cristina Muñoz
160160
Curtis Doty
161161
cytolentino
162162
Daan De Meyer
163+
Dale
163164
Damian
164165
Damian Quiroga
165166
Damian Shaw
@@ -226,6 +227,7 @@ Dustin Ingram
226227
Dwayne Bailey
227228
Ed Morley
228229
Edgar Ramírez
230+
Edgar Ramírez Mondragón
229231
Ee Durbin
230232
Efflam Lemaillet
231233
efflamlemaillet
@@ -258,6 +260,7 @@ Filip Kokosiński
258260
Filipe Laíns
259261
Finn Womack
260262
finnagin
263+
Flavio Amurrio
261264
Florian Briand
262265
Florian Rathgeber
263266
Francesco
@@ -320,6 +323,7 @@ Ionel Cristian Mărieș
320323
Ionel Maries Cristian
321324
Itamar Turner-Trauring
322325
Ivan Pozdeev
326+
J. Nick Koston
323327
Jacob Kim
324328
Jacob Walls
325329
Jaime Sanz
@@ -342,6 +346,7 @@ Jason R. Coombs
342346
JasonMo
343347
JasonMo1
344348
Jay Graves
349+
Jean Abou Samra
345350
Jean-Christophe Fillion-Robin
346351
Jeff Barber
347352
Jeff Dairiki
@@ -581,6 +586,7 @@ Przemek Wrzos
581586
Pulkit Goyal
582587
q0w
583588
Qiangning Hong
589+
Qiming Xu
584590
Quentin Lee
585591
Quentin Pradet
586592
R. David Murray
@@ -719,6 +725,7 @@ Vincent Philippon
719725
Vinicyus Macedo
720726
Vipul Kumar
721727
Vitaly Babiy
728+
Vladimir Fokow
722729
Vladimir Rutsky
723730
W. Trevor King
724731
Wil Tan

NEWS.rst

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,46 @@
99
1010
.. towncrier release notes start
1111
12+
24.0 (2024-02-03)
13+
=================
14+
15+
Features
16+
--------
17+
18+
- Retry on HTTP status code 502 (`#11843 <https://github.com/pypa/pip/issues/11843>`_)
19+
- Automatically use the setuptools PEP 517 build backend when ``--config-settings`` is
20+
used for projects without ``pyproject.toml``. (`#11915 <https://github.com/pypa/pip/issues/11915>`_)
21+
- Make pip freeze and pip uninstall of legacy editable installs of packages whose name
22+
contains ``_`` compatible with ``setuptools>=69.0.3``. (`#12477 <https://github.com/pypa/pip/issues/12477>`_)
23+
- Support per requirement ``--config-settings`` for editable installs. (`#12480 <https://github.com/pypa/pip/issues/12480>`_)
24+
25+
Bug Fixes
26+
---------
27+
28+
- Optimized usage of ``--find-links=<path-to-dir>``, by only scanning the relevant directory once, only considering file names that are valid wheel or sdist names, and only considering files in the directory that are related to the install. (`#12327 <https://github.com/pypa/pip/issues/12327>`_)
29+
- Removed ``wheel`` from the ``[build-system].requires`` list fallback
30+
that is used when ``pyproject.toml`` is absent. (`#12449 <https://github.com/pypa/pip/issues/12449>`_)
31+
32+
Vendored Libraries
33+
------------------
34+
35+
- Upgrade distlib to 0.3.8
36+
37+
Improved Documentation
38+
----------------------
39+
40+
- Fix explanation of how PIP_CONFIG_FILE works (`#11815 <https://github.com/pypa/pip/issues/11815>`_)
41+
- Fix outdated pip install argument description in documentation. (`#12417 <https://github.com/pypa/pip/issues/12417>`_)
42+
- Replace some links to PEPs with links to the canonical specifications on the :doc:`pypug:index` (`#12434 <https://github.com/pypa/pip/issues/12434>`_)
43+
- Updated the ``pyproject.toml`` document to stop suggesting
44+
to depend on ``wheel`` as a build dependency directly. (`#12449 <https://github.com/pypa/pip/issues/12449>`_)
45+
- Update supported interpreters in development docs (`#12475 <https://github.com/pypa/pip/issues/12475>`_)
46+
47+
Process
48+
-------
49+
50+
- Most project metadata is now defined statically via pip's ``pyproject.toml`` file.
51+
1252
23.3.2 (2023-12-17)
1353
===================
1454

docs/html/development/ci.rst

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ pip support a variety of Python interpreters:
2222
- CPython 3.8
2323
- CPython 3.9
2424
- CPython 3.10
25+
- CPython 3.11
26+
- CPython 3.12
2527
- Latest PyPy3
2628

2729
on different operating systems:
@@ -96,6 +98,10 @@ Actual testing
9698
| | +-------+---------------+-----------------+
9799
| | | CP3.10| | |
98100
| | +-------+---------------+-----------------+
101+
| | | CP3.11| | |
102+
| | +-------+---------------+-----------------+
103+
| | | CP3.12| | |
104+
| | +-------+---------------+-----------------+
99105
| | | PyPy3 | | |
100106
| Windows +----------+-------+---------------+-----------------+
101107
| | x64 | CP3.7 | GitHub | GitHub |
@@ -104,7 +110,11 @@ Actual testing
104110
| | +-------+---------------+-----------------+
105111
| | | CP3.9 | | |
106112
| | +-------+---------------+-----------------+
107-
| | | CP3.10| GitHub | GitHub |
113+
| | | CP3.10| | |
114+
| | +-------+---------------+-----------------+
115+
| | | CP3.11| GitHub | GitHub |
116+
| | +-------+---------------+-----------------+
117+
| | | CP3.12| | |
108118
| | +-------+---------------+-----------------+
109119
| | | PyPy3 | | |
110120
+-----------+----------+-------+---------------+-----------------+
@@ -114,6 +124,12 @@ Actual testing
114124
| | +-------+---------------+-----------------+
115125
| | | CP3.9 | | |
116126
| | +-------+---------------+-----------------+
127+
| | | CP3.10| | |
128+
| | +-------+---------------+-----------------+
129+
| | | CP3.11| | |
130+
| | +-------+---------------+-----------------+
131+
| | | CP3.12| | |
132+
| | +-------+---------------+-----------------+
117133
| | | PyPy3 | | |
118134
| Linux +----------+-------+---------------+-----------------+
119135
| | x64 | CP3.7 | GitHub | GitHub |
@@ -124,6 +140,10 @@ Actual testing
124140
| | +-------+---------------+-----------------+
125141
| | | CP3.10| GitHub | GitHub |
126142
| | +-------+---------------+-----------------+
143+
| | | CP3.11| GitHub | GitHub |
144+
| | +-------+---------------+-----------------+
145+
| | | CP3.12| GitHub | GitHub |
146+
| | +-------+---------------+-----------------+
127147
| | | PyPy3 | | |
128148
+-----------+----------+-------+---------------+-----------------+
129149
| | arm64 | CP3.7 | | |
@@ -134,6 +154,10 @@ Actual testing
134154
| | +-------+---------------+-----------------+
135155
| | | CP3.10| | |
136156
| | +-------+---------------+-----------------+
157+
| | | CP3.11| | |
158+
| | +-------+---------------+-----------------+
159+
| | | CP3.12| | |
160+
| | +-------+---------------+-----------------+
137161
| | | PyPy3 | | |
138162
| macOS +----------+-------+---------------+-----------------+
139163
| | x64 | CP3.7 | GitHub | GitHub |
@@ -144,5 +168,9 @@ Actual testing
144168
| | +-------+---------------+-----------------+
145169
| | | CP3.10| GitHub | GitHub |
146170
| | +-------+---------------+-----------------+
171+
| | | CP3.11| GitHub | GitHub |
172+
| | +-------+---------------+-----------------+
173+
| | | CP3.12| GitHub | GitHub |
174+
| | +-------+---------------+-----------------+
147175
| | | PyPy3 | | |
148176
+-----------+----------+-------+---------------+-----------------+

docs/html/reference/build-system/pyproject-toml.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ that build requirements are handled independently of the user's runtime
2929
environment.
3030

3131
For example, a project that needs an older version of setuptools to build can
32-
still be installed, even if the user has an newer version installed (and
32+
still be installed, even if the user has a newer version installed (and
3333
without silently replacing that version).
3434

3535
### Build-time dependencies
@@ -135,13 +135,13 @@ section, it will be assumed to have the following backend settings:
135135

136136
```toml
137137
[build-system]
138-
requires = ["setuptools>=40.8.0", "wheel"]
138+
requires = ["setuptools>=40.8.0"]
139139
build-backend = "setuptools.build_meta:__legacy__"
140140
```
141141

142142
If a project has a `build-system` section but no `build-backend`, then:
143143

144-
- It is expected to include `setuptools` and `wheel` as build requirements. An
144+
- It is expected to include `setuptools` as a build requirement. An
145145
error is reported if the available version of `setuptools` is not recent
146146
enough.
147147

news/11815.doc.rst

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

news/11909.process.rst

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

news/12389.bugfix.rst

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

news/12390.trivial.rst

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

news/12393.trivial.rst

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

news/12417.doc.rst

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

news/12434.doc.rst

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

news/12510.trivial.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Update ruff to 0.2.0 and update ruff config to reflect

noxfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
# fmt: off
1515
sys.path.append(".")
16-
from tools import release # isort:skip # noqa
16+
from tools import release # isort:skip
1717
sys.path.pop()
1818
# fmt: on
1919

pyproject.toml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -138,20 +138,23 @@ distlib = "https://bitbucket.org/pypa/distlib/raw/master/LICENSE.txt"
138138
webencodings = "https://github.com/SimonSapin/python-webencodings/raw/master/LICENSE"
139139

140140
[tool.ruff]
141+
src = ["src"]
142+
target-version = "py37"
143+
line-length = 88
141144
extend-exclude = [
142145
"_vendor",
143146
"./build",
144147
".scratch",
145148
"data",
146149
]
150+
151+
[tool.ruff.lint]
147152
ignore = [
148153
"B019",
149154
"B020",
150155
"B904", # Ruff enables opinionated warnings by default
151156
"B905", # Ruff enables opinionated warnings by default
152157
]
153-
target-version = "py37"
154-
line-length = 88
155158
select = [
156159
"ASYNC",
157160
"B",
@@ -170,22 +173,21 @@ select = [
170173
"UP032",
171174
]
172175

173-
[tool.ruff.isort]
174-
# We need to explicitly make pip "first party" as it's imported by code in
175-
# the docs and tests directories.
176-
known-first-party = ["pip"]
176+
[tool.ruff.lint.isort]
177+
# Explicitly make tests "first party" as it's not in the "src" directory
178+
known-first-party = ["tests"]
177179
known-third-party = ["pip._vendor"]
178180

179-
[tool.ruff.mccabe]
181+
[tool.ruff.lint.mccabe]
180182
max-complexity = 33 # default is 10
181183

182-
[tool.ruff.per-file-ignores]
184+
[tool.ruff.lint.per-file-ignores]
183185
"noxfile.py" = ["G"]
184186
"src/pip/_internal/*" = ["PERF203"]
185187
"tests/*" = ["B011"]
186188
"tests/unit/test_finder.py" = ["C414"]
187189

188-
[tool.ruff.pylint]
190+
[tool.ruff.lint.pylint]
189191
max-args = 15 # default is 5
190192
max-branches = 28 # default is 12
191193
max-returns = 13 # default is 6

src/pip/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import List, Optional
22

3-
__version__ = "24.0.dev0"
3+
__version__ = "24.1.dev0"
44

55

66
def main(args: Optional[List[str]] = None) -> int:

0 commit comments

Comments
 (0)