Skip to content

Commit 207bef1

Browse files
authored
Merge branch 'main' into bugfix/11815-correct-docs-for-env-var
2 parents 7079548 + 7aaca9f commit 207bef1

File tree

124 files changed

+2978
-797
lines changed

Some content is hidden

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

124 files changed

+2978
-797
lines changed

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "monthly"

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
runs-on: ubuntu-latest
2222

2323
steps:
24-
- uses: actions/checkout@v3
24+
- uses: actions/checkout@v4
2525
- uses: actions/setup-python@v4
2626
with:
2727
python-version: "3.x"
@@ -57,7 +57,7 @@ jobs:
5757
runs-on: ubuntu-latest
5858

5959
steps:
60-
- uses: actions/checkout@v3
60+
- uses: actions/checkout@v4
6161
- uses: actions/setup-python@v4
6262
with:
6363
python-version: "3.x"
@@ -81,7 +81,7 @@ jobs:
8181
github.event_name != 'pull_request'
8282
8383
steps:
84-
- uses: actions/checkout@v3
84+
- uses: actions/checkout@v4
8585
- uses: actions/setup-python@v4
8686
with:
8787
python-version: "3.x"
@@ -112,7 +112,7 @@ jobs:
112112
- "3.12"
113113

114114
steps:
115-
- uses: actions/checkout@v3
115+
- uses: actions/checkout@v4
116116
- uses: actions/setup-python@v4
117117
with:
118118
python-version: ${{ matrix.python }}
@@ -164,7 +164,7 @@ jobs:
164164
group: [1, 2]
165165

166166
steps:
167-
- uses: actions/checkout@v3
167+
- uses: actions/checkout@v4
168168
- uses: actions/setup-python@v4
169169
with:
170170
python-version: ${{ matrix.python }}
@@ -215,7 +215,7 @@ jobs:
215215
github.event_name != 'pull_request'
216216
217217
steps:
218-
- uses: actions/checkout@v3
218+
- uses: actions/checkout@v4
219219
- uses: actions/setup-python@v4
220220
with:
221221
python-version: "3.10"

.github/workflows/lock-threads.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
if: github.repository_owner == 'pypa'
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: dessant/lock-threads@v3
20+
- uses: dessant/lock-threads@v4
2121
with:
2222
issue-inactive-days: '30'
2323
pr-inactive-days: '15'

.github/workflows/news-file.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-20.04
1111

1212
steps:
13-
- uses: actions/checkout@v3
13+
- uses: actions/checkout@v4
1414
with:
1515
# `towncrier check` runs `git diff --name-only origin/main...`, which
1616
# needs a non-shallow clone.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ubuntu-latest
1919
environment: RTD Deploys
2020
steps:
21-
- uses: actions/checkout@v3
21+
- uses: actions/checkout@v4
2222
- uses: actions/setup-python@v4
2323
with:
2424
python-version: "3.11"

.pre-commit-config.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ repos:
2222
- id: black
2323

2424
- repo: https://github.com/astral-sh/ruff-pre-commit
25-
# Ruff version.
26-
rev: v0.0.287
25+
rev: v0.0.292
2726
hooks:
2827
- id: ruff
2928

AUTHORS.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Albert-Guan
2020
albertg
2121
Alberto Sottile
2222
Aleks Bunin
23+
Ales Erjavec
2324
Alethea Flowers
2425
Alex Gaynor
2526
Alex Grönholm
@@ -30,6 +31,7 @@ Alex Stachowiak
3031
Alexander Shtyrov
3132
Alexandre Conrad
3233
Alexey Popravka
34+
Aleš Erjavec
3335
Alli
3436
Ami Fischman
3537
Ananya Maiti
@@ -196,9 +198,11 @@ David Runge
196198
David Tucker
197199
David Wales
198200
Davidovich
201+
ddelange
199202
Deepak Sharma
200203
Deepyaman Datta
201204
Denise Yu
205+
dependabot[bot]
202206
derwolfe
203207
Desetude
204208
Devesh Kumar Singh
@@ -312,6 +316,7 @@ Ilya Baryshev
312316
Inada Naoki
313317
Ionel Cristian Mărieș
314318
Ionel Maries Cristian
319+
Itamar Turner-Trauring
315320
Ivan Pozdeev
316321
Jacob Kim
317322
Jacob Walls
@@ -338,6 +343,7 @@ Jay Graves
338343
Jean-Christophe Fillion-Robin
339344
Jeff Barber
340345
Jeff Dairiki
346+
Jeff Widman
341347
Jelmer Vernooij
342348
jenix21
343349
Jeremy Stanley
@@ -367,6 +373,7 @@ Joseph Long
367373
Josh Bronson
368374
Josh Hansen
369375
Josh Schneier
376+
Joshua
370377
Juan Luis Cano Rodríguez
371378
Juanjo Bazán
372379
Judah Rand
@@ -397,6 +404,7 @@ KOLANICH
397404
kpinc
398405
Krishna Oza
399406
Kumar McMillan
407+
Kurt McKee
400408
Kyle Persohn
401409
lakshmanaram
402410
Laszlo Kiss-Kollar
@@ -413,6 +421,7 @@ lorddavidiii
413421
Loren Carvalho
414422
Lucas Cimon
415423
Ludovic Gasc
424+
Lukas Geiger
416425
Lukas Juhrich
417426
Luke Macken
418427
Luo Jiebin
@@ -529,6 +538,7 @@ Patrick Jenkins
529538
Patrick Lawson
530539
patricktokeeffe
531540
Patrik Kopkan
541+
Paul Ganssle
532542
Paul Kehrer
533543
Paul Moore
534544
Paul Nasrat
@@ -609,6 +619,7 @@ ryneeverett
609619
Sachi King
610620
Salvatore Rinchiera
611621
sandeepkiran-js
622+
Sander Van Balen
612623
Savio Jomton
613624
schlamar
614625
Scott Kitterman
@@ -621,6 +632,7 @@ SeongSoo Cho
621632
Sergey Vasilyev
622633
Seth Michael Larson
623634
Seth Woodworth
635+
Shahar Epstein
624636
Shantanu
625637
shireenrao
626638
Shivansh-007
@@ -648,6 +660,7 @@ Steve Kowalik
648660
Steven Myint
649661
Steven Silvester
650662
stonebig
663+
studioj
651664
Stéphane Bidoul
652665
Stéphane Bidoul (ACSONE)
653666
Stéphane Klein

NEWS.rst

Lines changed: 72 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,80 @@
99
1010
.. towncrier release notes start
1111
12+
23.3.1 (2023-10-21)
13+
===================
14+
15+
Bug Fixes
16+
---------
17+
18+
- Handle a timezone indicator of Z when parsing dates in the self check. (`#12338 <https://github.com/pypa/pip/issues/12338>`_)
19+
- Fix bug where installing the same package at the same time with multiple pip processes could fail. (`#12361 <https://github.com/pypa/pip/issues/12361>`_)
20+
21+
22+
23.3 (2023-10-15)
23+
=================
24+
25+
Process
26+
-------
27+
28+
- Added reference to `vulnerability reporting guidelines <https://www.python.org/dev/security/>`_ to pip's security policy.
29+
30+
Deprecations and Removals
31+
-------------------------
32+
33+
- Drop a fallback to using SecureTransport on macOS. It was useful when pip detected OpenSSL older than 1.0.1, but the current pip does not support any Python version supporting such old OpenSSL versions. (`#12175 <https://github.com/pypa/pip/issues/12175>`_)
34+
35+
Features
36+
--------
37+
38+
- Improve extras resolution for multiple constraints on same base package. (`#11924 <https://github.com/pypa/pip/issues/11924>`_)
39+
- Improve use of datastructures to make candidate selection 1.6x faster. (`#12204 <https://github.com/pypa/pip/issues/12204>`_)
40+
- Allow ``pip install --dry-run`` to use platform and ABI overriding options. (`#12215 <https://github.com/pypa/pip/issues/12215>`_)
41+
- Add ``is_yanked`` boolean entry to the installation report (``--report``) to indicate whether the requirement was yanked from the index, but was still selected by pip conform to :pep:`592`. (`#12224 <https://github.com/pypa/pip/issues/12224>`_)
42+
43+
Bug Fixes
44+
---------
45+
46+
- Ignore errors in temporary directory cleanup (show a warning instead). (`#11394 <https://github.com/pypa/pip/issues/11394>`_)
47+
- Normalize extras according to :pep:`685` from package metadata in the resolver
48+
for comparison. This ensures extras are correctly compared and merged as long
49+
as the package providing the extra(s) is built with values normalized according
50+
to the standard. Note, however, that this *does not* solve cases where the
51+
package itself contains unnormalized extra values in the metadata. (`#11649 <https://github.com/pypa/pip/issues/11649>`_)
52+
- Prevent downloading sdists twice when :pep:`658` metadata is present. (`#11847 <https://github.com/pypa/pip/issues/11847>`_)
53+
- Include all requested extras in the install report (``--report``). (`#11924 <https://github.com/pypa/pip/issues/11924>`_)
54+
- Removed uses of ``datetime.datetime.utcnow`` from non-vendored code. (`#12005 <https://github.com/pypa/pip/issues/12005>`_)
55+
- Consistently report whether a dependency comes from an extra. (`#12095 <https://github.com/pypa/pip/issues/12095>`_)
56+
- Fix completion script for zsh (`#12166 <https://github.com/pypa/pip/issues/12166>`_)
57+
- Fix improper handling of the new onexc argument of ``shutil.rmtree()`` in Python 3.12. (`#12187 <https://github.com/pypa/pip/issues/12187>`_)
58+
- Filter out yanked links from the available versions error message: "(from versions: 1.0, 2.0, 3.0)" will not contain yanked versions conform PEP 592. The yanked versions (if any) will be mentioned in a separate error message. (`#12225 <https://github.com/pypa/pip/issues/12225>`_)
59+
- Fix crash when the git version number contains something else than digits and dots. (`#12280 <https://github.com/pypa/pip/issues/12280>`_)
60+
- Use ``-r=...`` instead of ``-r ...`` to specify references with Mercurial. (`#12306 <https://github.com/pypa/pip/issues/12306>`_)
61+
- Redact password from URLs in some additional places. (`#12350 <https://github.com/pypa/pip/issues/12350>`_)
62+
- pip uses less memory when caching large packages. As a result, there is a new on-disk cache format stored in a new directory ($PIP_CACHE_DIR/http-v2). (`#2984 <https://github.com/pypa/pip/issues/2984>`_)
63+
64+
Vendored Libraries
65+
------------------
66+
67+
- Upgrade certifi to 2023.7.22
68+
- Add truststore 0.8.0
69+
- Upgrade urllib3 to 1.26.17
70+
71+
Improved Documentation
72+
----------------------
73+
74+
- Document that ``pip search`` support has been removed from PyPI (`#12059 <https://github.com/pypa/pip/issues/12059>`_)
75+
- Clarify --prefer-binary in CLI and docs (`#12122 <https://github.com/pypa/pip/issues/12122>`_)
76+
- Document that using OS-provided Python can cause pip's test suite to report false failures. (`#12334 <https://github.com/pypa/pip/issues/12334>`_)
77+
78+
1279
23.2.1 (2023-07-22)
1380
===================
1481

1582
Bug Fixes
1683
---------
1784

18-
- Disable PEP 658 metadata fetching with the legacy resolver. (`#12156 <https://github.com/pypa/pip/issues/12156>`_)
85+
- Disable :pep:`658` metadata fetching with the legacy resolver. (`#12156 <https://github.com/pypa/pip/issues/12156>`_)
1986

2087

2188
23.2 (2023-07-15)
@@ -45,11 +112,11 @@ Bug Fixes
45112
---------
46113

47114
- Fix ``pip completion --zsh``. (`#11417 <https://github.com/pypa/pip/issues/11417>`_)
48-
- Prevent downloading files twice when PEP 658 metadata is present (`#11847 <https://github.com/pypa/pip/issues/11847>`_)
115+
- Prevent downloading files twice when :pep:`658` metadata is present (`#11847 <https://github.com/pypa/pip/issues/11847>`_)
49116
- Add permission check before configuration (`#11920 <https://github.com/pypa/pip/issues/11920>`_)
50117
- Fix deprecation warnings in Python 3.12 for usage of shutil.rmtree (`#11957 <https://github.com/pypa/pip/issues/11957>`_)
51118
- Ignore invalid or unreadable ``origin.json`` files in the cache of locally built wheels. (`#11985 <https://github.com/pypa/pip/issues/11985>`_)
52-
- Fix installation of packages with PEP658 metadata using non-canonicalized names (`#12038 <https://github.com/pypa/pip/issues/12038>`_)
119+
- Fix installation of packages with :pep:`658` metadata using non-canonicalized names (`#12038 <https://github.com/pypa/pip/issues/12038>`_)
53120
- Correctly parse ``dist-info-metadata`` values from JSON-format index data. (`#12042 <https://github.com/pypa/pip/issues/12042>`_)
54121
- Fail with an error if the ``--python`` option is specified after the subcommand name. (`#12067 <https://github.com/pypa/pip/issues/12067>`_)
55122
- Fix slowness when using ``importlib.metadata`` (the default way for pip to read metadata in Python 3.11+) and there is a large overlap between already installed and to-be-installed packages. (`#12079 <https://github.com/pypa/pip/issues/12079>`_)
@@ -220,7 +287,7 @@ Features
220287

221288
- Change the hashes in the installation report to be a mapping. Emit the
222289
``archive_info.hashes`` dictionary in ``direct_url.json``. (`#11312 <https://github.com/pypa/pip/issues/11312>`_)
223-
- Implement logic to read the ``EXTERNALLY-MANAGED`` file as specified in PEP 668.
290+
- Implement logic to read the ``EXTERNALLY-MANAGED`` file as specified in :pep:`668`.
224291
This allows a downstream Python distributor to prevent users from using pip to
225292
modify the externally managed environment. (`#11381 <https://github.com/pypa/pip/issues/11381>`_)
226293
- Enable the use of ``keyring`` found on ``PATH``. This allows ``keyring``
@@ -236,7 +303,7 @@ Bug Fixes
236303
- Use the "venv" scheme if available to obtain prefixed lib paths. (`#11598 <https://github.com/pypa/pip/issues/11598>`_)
237304
- Deprecated a historical ambiguity in how ``egg`` fragments in URL-style
238305
requirements are formatted and handled. ``egg`` fragments that do not look
239-
like PEP 508 names now produce a deprecation warning. (`#11617 <https://github.com/pypa/pip/issues/11617>`_)
306+
like :pep:`508` names now produce a deprecation warning. (`#11617 <https://github.com/pypa/pip/issues/11617>`_)
240307
- Fix scripts path in isolated build environment on Debian. (`#11623 <https://github.com/pypa/pip/issues/11623>`_)
241308
- Make ``pip show`` show the editable location if package is editable (`#11638 <https://github.com/pypa/pip/issues/11638>`_)
242309
- Stop checking that ``wheel`` is present when ``build-system.requires``

README.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,15 @@ pip - The Python Package Installer
33

44
.. image:: https://img.shields.io/pypi/v/pip.svg
55
:target: https://pypi.org/project/pip/
6+
:alt: PyPI
7+
8+
.. image:: https://img.shields.io/pypi/pyversions/pip
9+
:target: https://pypi.org/project/pip
10+
:alt: PyPI - Python Version
611

712
.. image:: https://readthedocs.org/projects/pip/badge/?version=latest
813
:target: https://pip.pypa.io/en/latest
14+
:alt: Documentation
915

1016
pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.
1117

@@ -19,8 +25,6 @@ We release updates regularly, with a new version every 3 months. Find more detai
1925
* `Release notes`_
2026
* `Release process`_
2127

22-
**Note**: pip 21.0, in January 2021, removed Python 2 support, per pip's `Python 2 support policy`_. Please migrate to Python 3.
23-
2428
If you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms:
2529

2630
* `Issue tracking`_
@@ -47,7 +51,6 @@ rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.
4751
.. _Release process: https://pip.pypa.io/en/latest/development/release-process/
4852
.. _GitHub page: https://github.com/pypa/pip
4953
.. _Development documentation: https://pip.pypa.io/en/latest/development
50-
.. _Python 2 support policy: https://pip.pypa.io/en/latest/development/release-process/#python-2-support
5154
.. _Issue tracking: https://github.com/pypa/pip/issues
5255
.. _Discourse channel: https://discuss.python.org/c/packaging
5356
.. _User IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa

docs/html/development/contributing.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ the ``news/`` directory with the extension of ``.trivial.rst``. If you are on a
112112
POSIX like operating system, one can be added by running
113113
``touch news/$(uuidgen).trivial.rst``. On Windows, the same result can be
114114
achieved in Powershell using ``New-Item "news/$([guid]::NewGuid()).trivial.rst"``.
115-
Core committers may also add a "trivial" label to the PR which will accomplish
115+
Core committers may also add a "skip news" label to the PR which will accomplish
116116
the same thing.
117117

118118
Upgrading, removing, or adding a new vendored library gets a special mention

docs/html/development/getting-started.rst

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ pip's tests are written using the :pypi:`pytest` test framework and
7373
:mod:`unittest.mock`. :pypi:`nox` is used to automate the setup and execution
7474
of pip's tests.
7575

76-
It is preferable to run the tests in parallel for better experience during development,
76+
It is preferable to run the tests in parallel for a better experience during development,
7777
since the tests can take a long time to finish when run sequentially.
7878

7979
To run tests:
@@ -104,6 +104,15 @@ can select tests using the various ways that pytest provides:
104104
$ # Using keywords
105105
$ nox -s test-3.10 -- -k "install and not wheel"
106106
107+
.. note::
108+
109+
When running pip's tests with OS distribution Python versions, be aware that some
110+
functional tests may fail due to potential patches introduced by the distribution.
111+
For all tests to pass consider:
112+
113+
- Installing Python from `python.org`_ or compile from source
114+
- Or, using `pyenv`_ to assist with source compilation
115+
107116
Running pip's entire test suite requires supported version control tools
108117
(subversion, bazaar, git, and mercurial) to be installed. If you are missing
109118
any of these VCS, those tests should be skipped automatically. You can also
@@ -114,6 +123,9 @@ explicitly tell pytest to skip those tests:
114123
$ nox -s test-3.10 -- -k "not svn"
115124
$ nox -s test-3.10 -- -k "not (svn or git)"
116125
126+
.. _python.org: https://www.python.org/downloads/
127+
.. _pyenv: https://github.com/pyenv/pyenv
128+
117129

118130
Running Linters
119131
===============

docs/html/development/release-process.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ Creating a new release
145145
#. Push the tag created by ``prepare-release``.
146146
#. Regenerate the ``get-pip.py`` script in the `get-pip repository`_ (as
147147
documented there) and commit the results.
148-
#. Submit a Pull Request to `CPython`_ adding the new version of pip (and upgrading
149-
setuptools) to ``Lib/ensurepip/_bundled``, removing the existing version, and
148+
#. Submit a Pull Request to `CPython`_ adding the new version of pip
149+
to ``Lib/ensurepip/_bundled``, removing the existing version, and
150150
adjusting the versions listed in ``Lib/ensurepip/__init__.py``.
151151

152152

0 commit comments

Comments
 (0)