Skip to content

Commit 082a6c6

Browse files
authored
Merge branch 'main' into handle-missing-completion-env
2 parents 323a64b + 4f3a184 commit 082a6c6

File tree

221 files changed

+3643
-2523
lines changed

Some content is hidden

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

221 files changed

+3643
-2523
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ on:
1111
schedule:
1212
- cron: 0 0 * * MON # Run every Monday at 00:00 UTC
1313

14+
env:
15+
# The "FORCE_COLOR" variable, when set to 1,
16+
# tells Nox to colorize itself.
17+
FORCE_COLOR: "1"
18+
1419
concurrency:
1520
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
1621
cancel-in-progress: true
@@ -22,7 +27,7 @@ jobs:
2227

2328
steps:
2429
- uses: actions/checkout@v4
25-
- uses: actions/setup-python@v4
30+
- uses: actions/setup-python@v5
2631
with:
2732
python-version: "3.x"
2833
- run: pip install nox
@@ -58,7 +63,7 @@ jobs:
5863

5964
steps:
6065
- uses: actions/checkout@v4
61-
- uses: actions/setup-python@v4
66+
- uses: actions/setup-python@v5
6267
with:
6368
python-version: "3.x"
6469
- name: Set up git credentials
@@ -82,7 +87,7 @@ jobs:
8287
8388
steps:
8489
- uses: actions/checkout@v4
85-
- uses: actions/setup-python@v4
90+
- uses: actions/setup-python@v5
8691
with:
8792
python-version: "3.x"
8893

@@ -104,7 +109,6 @@ jobs:
104109
matrix:
105110
os: [Ubuntu, MacOS]
106111
python:
107-
- "3.7"
108112
- "3.8"
109113
- "3.9"
110114
- "3.10"
@@ -113,14 +117,16 @@ jobs:
113117

114118
steps:
115119
- uses: actions/checkout@v4
116-
- uses: actions/setup-python@v4
120+
- uses: actions/setup-python@v5
117121
with:
118122
python-version: ${{ matrix.python }}
119123
allow-prereleases: true
120124

121125
- name: Install Ubuntu dependencies
122126
if: matrix.os == 'Ubuntu'
123-
run: sudo apt-get install bzr
127+
run: |
128+
sudo apt-get update
129+
sudo apt-get install bzr
124130
125131
- name: Install MacOS dependencies
126132
if: matrix.os == 'MacOS'
@@ -155,17 +161,18 @@ jobs:
155161
matrix:
156162
os: [Windows]
157163
python:
158-
- "3.7"
159-
# Commented out, since Windows tests are expensively slow.
160-
# - "3.8"
164+
- "3.8"
165+
# Commented out, since Windows tests are expensively slow,
166+
# only test the oldest and newest Python supported by pip
161167
# - "3.9"
162168
# - "3.10"
163-
- "3.11"
169+
# - "3.11"
170+
- "3.12"
164171
group: [1, 2]
165172

166173
steps:
167174
- uses: actions/checkout@v4
168-
- uses: actions/setup-python@v4
175+
- uses: actions/setup-python@v5
169176
with:
170177
python-version: ${{ matrix.python }}
171178

@@ -216,14 +223,16 @@ jobs:
216223
217224
steps:
218225
- uses: actions/checkout@v4
219-
- uses: actions/setup-python@v4
226+
- uses: actions/setup-python@v5
220227
with:
221228
python-version: "3.10"
222229

223230
- name: Install Ubuntu dependencies
224-
run: sudo apt-get install bzr
231+
run: |
232+
sudo apt-get update
233+
sudo apt-get install bzr
225234
226-
- run: pip install nox 'virtualenv<20' 'setuptools != 60.6.0'
235+
- run: pip install nox
227236

228237
# Main check
229238
- name: Run integration tests

.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: 11 additions & 3 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,7 +227,10 @@ Dustin Ingram
226227
Dwayne Bailey
227228
Ed Morley
228229
Edgar Ramírez
230+
Edgar Ramírez Mondragón
229231
Ee Durbin
232+
Efflam Lemaillet
233+
efflamlemaillet
230234
Eitan Adler
231235
ekristina
232236
elainechan
@@ -256,6 +260,7 @@ Filip Kokosiński
256260
Filipe Laíns
257261
Finn Womack
258262
finnagin
263+
Flavio Amurrio
259264
Florian Briand
260265
Florian Rathgeber
261266
Francesco
@@ -318,6 +323,7 @@ Ionel Cristian Mărieș
318323
Ionel Maries Cristian
319324
Itamar Turner-Trauring
320325
Ivan Pozdeev
326+
J. Nick Koston
321327
Jacob Kim
322328
Jacob Walls
323329
Jaime Sanz
@@ -340,6 +346,7 @@ Jason R. Coombs
340346
JasonMo
341347
JasonMo1
342348
Jay Graves
349+
Jean Abou Samra
343350
Jean-Christophe Fillion-Robin
344351
Jeff Barber
345352
Jeff Dairiki
@@ -438,7 +445,7 @@ Mark Williams
438445
Markus Hametner
439446
Martey Dodoo
440447
Martin Fischer
441-
Martin Häcker
448+
Martin Häcker
442449
Martin Pavlasek
443450
Masaki
444451
Masklinn
@@ -488,7 +495,7 @@ Miro Hrončok
488495
Monica Baluna
489496
montefra
490497
Monty Taylor
491-
Muha Ajjan
498+
Muha Ajjan
492499
Nadav Wexler
493500
Nahuel Ambrosini
494501
Nate Coraor
@@ -579,6 +586,7 @@ Przemek Wrzos
579586
Pulkit Goyal
580587
q0w
581588
Qiangning Hong
589+
Qiming Xu
582590
Quentin Lee
583591
Quentin Pradet
584592
R. David Murray
@@ -717,6 +725,7 @@ Vincent Philippon
717725
Vinicyus Macedo
718726
Vipul Kumar
719727
Vitaly Babiy
728+
Vladimir Fokow
720729
Vladimir Rutsky
721730
W. Trevor King
722731
Wil Tan
@@ -748,4 +757,3 @@ Zvezdan Petkovic
748757
Łukasz Langa
749758
Роман Донченко
750759
Семён Марьясин
751-
‮rekcäH nitraM‮

NEWS.rst

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,56 @@
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+
52+
23.3.2 (2023-12-17)
53+
===================
54+
55+
Bug Fixes
56+
---------
57+
58+
- Fix a bug in extras handling for link requirements (`#12372 <https://github.com/pypa/pip/issues/12372>`_)
59+
- Fix mercurial revision "parse error": use ``--rev={ref}`` instead of ``-r={ref}`` (`#12373 <https://github.com/pypa/pip/issues/12373>`_)
60+
61+
1262
23.3.1 (2023-10-21)
1363
===================
1464

@@ -96,8 +146,9 @@ Process
96146
Deprecations and Removals
97147
-------------------------
98148

99-
- Deprecate legacy version and version specifiers that don't conform to `PEP 440
100-
<https://peps.python.org/pep-0440/>`_ (`#12063 <https://github.com/pypa/pip/issues/12063>`_)
149+
- Deprecate legacy version and version specifiers that don't conform to the
150+
:ref:`specification <pypug:version-specifiers>`.
151+
(`#12063 <https://github.com/pypa/pip/issues/12063>`_)
101152
- ``freeze`` no longer excludes the ``setuptools``, ``distribute``, and ``wheel``
102153
from the output when running on Python 3.12 or later, where they are not
103154
included in a virtual environment by default. Use ``--exclude`` if you wish to

docs/html/cli/pip_install.rst

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ When looking at the items to be installed, pip checks what type of item
4545
each is, in the following order:
4646

4747
1. Project or archive URL.
48-
2. Local directory (which must contain a ``setup.py``, or pip will report
49-
an error).
48+
2. Local directory (which must contain a ``pyproject.toml`` or ``setup.py``,
49+
otherwise pip will report an error).
5050
3. Local file (a sdist or wheel format archive, following the naming
5151
conventions for those formats).
52-
4. A requirement, as specified in :pep:`440`.
52+
4. A :ref:`version specifier <pypug:version-specifiers>`.
5353

5454
Each item identified is added to the set of requirements to be satisfied by
5555
the install.
@@ -97,7 +97,8 @@ Installation Order
9797
.. note::
9898

9999
This section is only about installation order of runtime dependencies, and
100-
does not apply to build dependencies (those are specified using PEP 518).
100+
does not apply to build dependencies (those are specified using the
101+
:ref:`[build-system] table <pypug:pyproject-build-system-table>`).
101102

102103
As of v6.1.0, pip installs dependencies before their dependents, i.e. in
103104
"topological order." This is the only commitment pip currently makes related
@@ -181,8 +182,9 @@ Pre-release Versions
181182
--------------------
182183

183184
Starting with v1.4, pip will only install stable versions as specified by
184-
`pre-releases`_ by default. If a version cannot be parsed as a compliant :pep:`440`
185-
version then it is assumed to be a pre-release.
185+
`pre-releases`_ by default. If a version cannot be parsed as a
186+
:ref:`compliant <pypug:version-specifiers>` version then it is assumed to be
187+
a pre-release.
186188

187189
If a Requirement specifier includes a pre-release or development version
188190
(e.g. ``>=0.0.dev0``) then pip will allow pre-release and development versions
@@ -210,12 +212,13 @@ and `there <https://www.python.org/dev/peps/pep-0503/>`_.
210212
pip offers a number of package index options for modifying how packages are
211213
found.
212214

213-
pip looks for packages in a number of places: on PyPI (if not disabled via
214-
``--no-index``), in the local filesystem, and in any additional repositories
215-
specified via ``--find-links`` or ``--index-url``. There is no ordering in
216-
the locations that are searched. Rather they are all checked, and the "best"
217-
match for the requirements (in terms of version number - see :pep:`440` for
218-
details) is selected.
215+
pip looks for packages in a number of places: on PyPI (or the index given as
216+
``--index-url``, if not disabled via ``--no-index``), in the local filesystem,
217+
and in any additional repositories specified via ``--find-links`` or
218+
``--extra-index-url``. There is no priority in the locations that are searched.
219+
Rather they are all checked, and the "best" match for the requirements (in
220+
terms of version number - see the
221+
:ref:`specification <pypug:version-specifiers>` for details) is selected.
219222

220223
See the :ref:`pip install Examples<pip install Examples>`.
221224

@@ -380,7 +383,8 @@ Examples
380383
py -m pip install -e "git+https://git.repo/some_pkg.git@feature#egg=SomePackage" # from 'feature' branch
381384
py -m pip install -e "git+https://git.repo/some_repo.git#egg=subdir&subdirectory=subdir_path" # install a python package from a repo subdirectory
382385
383-
#. Install a package with `extras`_.
386+
#. Install a package with extras, i.e., optional dependencies
387+
(:ref:`specification <pypug:dependency-specifiers>`).
384388

385389
.. tab:: Unix/macOS
386390

@@ -418,7 +422,8 @@ Examples
418422
py -m pip install "./downloads/SomePackage-1.0.4.tar.gz"
419423
py -m pip install "http://my.package.repo/SomePackage-1.0.4.zip"
420424
421-
#. Install a particular source archive file following :pep:`440` direct references.
425+
#. Install a particular source archive file following direct references
426+
(:ref:`specification <pypug:dependency-specifiers>`).
422427

423428
.. tab:: Unix/macOS
424429

@@ -539,5 +544,4 @@ Examples
539544
540545
py -m pip install SomePackage1 SomePackage2 --no-binary SomePackage1
541546
542-
.. _extras: https://www.python.org/dev/peps/pep-0508/#extras
543547
.. _PyPI: https://pypi.org/

0 commit comments

Comments
 (0)