Skip to content

Commit 577c86c

Browse files
authored
Merge branch 'main' into 2984-new-cache-lower-memory
2 parents dcd2d5e + 6f3a718 commit 577c86c

File tree

178 files changed

+4734
-2353
lines changed

Some content is hidden

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

178 files changed

+4734
-2353
lines changed

.github/workflows/ci.yml

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
- run: git diff --exit-code
9292

9393
tests-unix:
94-
name: tests / ${{ matrix.python }} / ${{ matrix.os }}
94+
name: tests / ${{ matrix.python.key || matrix.python }} / ${{ matrix.os }}
9595
runs-on: ${{ matrix.os }}-latest
9696

9797
needs: [packaging, determine-changes]
@@ -109,12 +109,14 @@ jobs:
109109
- "3.9"
110110
- "3.10"
111111
- "3.11"
112+
- "3.12"
112113

113114
steps:
114115
- uses: actions/checkout@v3
115116
- uses: actions/setup-python@v4
116117
with:
117118
python-version: ${{ matrix.python }}
119+
allow-prereleases: true
118120

119121
- name: Install Ubuntu dependencies
120122
if: matrix.os == 'Ubuntu'
@@ -129,12 +131,12 @@ jobs:
129131
# Main check
130132
- name: Run unit tests
131133
run: >-
132-
nox -s test-${{ matrix.python }} --
134+
nox -s test-${{ matrix.python.key || matrix.python }} --
133135
-m unit
134136
--verbose --numprocesses auto --showlocals
135137
- name: Run integration tests
136138
run: >-
137-
nox -s test-${{ matrix.python }} --
139+
nox -s test-${{ matrix.python.key || matrix.python }} --
138140
-m integration
139141
--verbose --numprocesses auto --showlocals
140142
--durations=5
@@ -167,24 +169,13 @@ jobs:
167169
with:
168170
python-version: ${{ matrix.python }}
169171

170-
# We use a RAMDisk on Windows, since filesystem IO is a big slowdown
171-
# for our tests.
172-
- name: Create a RAMDisk
173-
run: ./tools/ci/New-RAMDisk.ps1 -Drive R -Size 1GB
174-
175-
- name: Setup RAMDisk permissions
176-
run: |
177-
mkdir R:\Temp
178-
$acl = Get-Acl "R:\Temp"
179-
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
180-
"Everyone", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow"
181-
)
182-
$acl.AddAccessRule($rule)
183-
Set-Acl "R:\Temp" $acl
184-
172+
# We use C:\Temp (which is already available on the worker)
173+
# as a temporary directory for all of the tests because the
174+
# default value (under the user dir) is more deeply nested
175+
# and causes tests to fail with "path too long" errors.
185176
- run: pip install nox
186177
env:
187-
TEMP: "R:\\Temp"
178+
TEMP: "C:\\Temp"
188179

189180
# Main check
190181
- name: Run unit tests
@@ -194,7 +185,7 @@ jobs:
194185
-m unit
195186
--verbose --numprocesses auto --showlocals
196187
env:
197-
TEMP: "R:\\Temp"
188+
TEMP: "C:\\Temp"
198189

199190
- name: Run integration tests (group 1)
200191
if: matrix.group == 1
@@ -203,7 +194,7 @@ jobs:
203194
-m integration -k "not test_install"
204195
--verbose --numprocesses auto --showlocals
205196
env:
206-
TEMP: "R:\\Temp"
197+
TEMP: "C:\\Temp"
207198

208199
- name: Run integration tests (group 2)
209200
if: matrix.group == 2
@@ -212,7 +203,7 @@ jobs:
212203
-m integration -k "test_install"
213204
--verbose --numprocesses auto --showlocals
214205
env:
215-
TEMP: "R:\\Temp"
206+
TEMP: "C:\\Temp"
216207

217208
tests-zipapp:
218209
name: tests / zipapp

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ repos:
1717
exclude: .patch
1818

1919
- repo: https://github.com/psf/black
20-
rev: 23.1.0
20+
rev: 23.7.0
2121
hooks:
2222
- id: black
2323

2424
- repo: https://github.com/astral-sh/ruff-pre-commit
2525
# Ruff version.
26-
rev: v0.0.270
26+
rev: v0.0.287
2727
hooks:
2828
- id: ruff
2929

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build:
66
python: "3.11"
77

88
sphinx:
9-
builder: htmldir
9+
builder: dirhtml
1010
configuration: docs/html/conf.py
1111

1212
python:

AUTHORS.txt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ atse
7171
Atsushi Odagiri
7272
Avinash Karhana
7373
Avner Cohen
74+
Awit (Ah-Wit) Ghirmai
7475
Baptiste Mispelon
7576
Barney Gale
7677
barneygale
@@ -126,6 +127,7 @@ Chih-Hsuan Yen
126127
Chris Brinker
127128
Chris Hunt
128129
Chris Jerdonek
130+
Chris Kuehl
129131
Chris McDonough
130132
Chris Pawley
131133
Chris Pryer
@@ -330,6 +332,8 @@ Jarek Potiuk
330332
jarondl
331333
Jason Curtis
332334
Jason R. Coombs
335+
JasonMo
336+
JasonMo1
333337
Jay Graves
334338
Jean-Christophe Fillion-Robin
335339
Jeff Barber
@@ -344,6 +348,7 @@ Jim Fisher
344348
Jim Garrison
345349
Jiun Bae
346350
Jivan Amara
351+
Joe Bylund
347352
Joe Michelini
348353
John Paton
349354
John T. Wodder II
@@ -441,6 +446,7 @@ Matthew Einhorn
441446
Matthew Feickert
442447
Matthew Gilliard
443448
Matthew Iversen
449+
Matthew Treinish
444450
Matthew Trumbell
445451
Matthew Willson
446452
Matthias Bussonnier
@@ -473,7 +479,7 @@ Miro Hrončok
473479
Monica Baluna
474480
montefra
475481
Monty Taylor
476-
Muha Ajjan
482+
Muha Ajjan
477483
Nadav Wexler
478484
Nahuel Ambrosini
479485
Nate Coraor
@@ -582,6 +588,7 @@ Rishi
582588
RobberPhex
583589
Robert Collins
584590
Robert McGibbon
591+
Robert Pollak
585592
Robert T. McGibbon
586593
robin elisha robinson
587594
Roey Berman
@@ -614,6 +621,7 @@ SeongSoo Cho
614621
Sergey Vasilyev
615622
Seth Michael Larson
616623
Seth Woodworth
624+
Shantanu
617625
shireenrao
618626
Shivansh-007
619627
Shlomi Fish
@@ -638,6 +646,7 @@ Steve Barnes
638646
Steve Dower
639647
Steve Kowalik
640648
Steven Myint
649+
Steven Silvester
641650
stonebig
642651
Stéphane Bidoul
643652
Stéphane Bidoul (ACSONE)
@@ -707,6 +716,7 @@ Wilson Mo
707716
wim glenn
708717
Winson Luk
709718
Wolfgang Maier
719+
Wu Zhenyu
710720
XAMES3
711721
Xavier Fernandez
712722
xoviat
@@ -725,4 +735,4 @@ Zvezdan Petkovic
725735
Łukasz Langa
726736
Роман Донченко
727737
Семён Марьясин
728-
Martin Häcker
738+
‮rekcäH nitraM‮

NEWS.rst

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,69 @@
99
1010
.. towncrier release notes start
1111
12+
23.2.1 (2023-07-22)
13+
===================
14+
15+
Bug Fixes
16+
---------
17+
18+
- Disable PEP 658 metadata fetching with the legacy resolver. (`#12156 <https://github.com/pypa/pip/issues/12156>`_)
19+
20+
21+
23.2 (2023-07-15)
22+
=================
23+
24+
Process
25+
-------
26+
27+
- Deprecate support for eggs for Python 3.11 or later, when the new ``importlib.metadata`` backend is used to load distribution metadata. This only affects the egg *distribution format* (with the ``.egg`` extension); distributions using the ``.egg-info`` *metadata format* (but are not actually eggs) are not affected. For more information about eggs, see `relevant section in the setuptools documentation <https://setuptools.pypa.io/en/stable/deprecated/python_eggs.html>`__.
28+
29+
Deprecations and Removals
30+
-------------------------
31+
32+
- Deprecate legacy version and version specifiers that don't conform to `PEP 440
33+
<https://peps.python.org/pep-0440/>`_ (`#12063 <https://github.com/pypa/pip/issues/12063>`_)
34+
- ``freeze`` no longer excludes the ``setuptools``, ``distribute``, and ``wheel``
35+
from the output when running on Python 3.12 or later, where they are not
36+
included in a virtual environment by default. Use ``--exclude`` if you wish to
37+
exclude any of these packages. (`#4256 <https://github.com/pypa/pip/issues/4256>`_)
38+
39+
Features
40+
--------
41+
42+
- make rejection messages slightly different between 1 and 8, so the user can make the difference. (`#12040 <https://github.com/pypa/pip/issues/12040>`_)
43+
44+
Bug Fixes
45+
---------
46+
47+
- 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>`_)
49+
- Add permission check before configuration (`#11920 <https://github.com/pypa/pip/issues/11920>`_)
50+
- Fix deprecation warnings in Python 3.12 for usage of shutil.rmtree (`#11957 <https://github.com/pypa/pip/issues/11957>`_)
51+
- 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>`_)
53+
- Correctly parse ``dist-info-metadata`` values from JSON-format index data. (`#12042 <https://github.com/pypa/pip/issues/12042>`_)
54+
- Fail with an error if the ``--python`` option is specified after the subcommand name. (`#12067 <https://github.com/pypa/pip/issues/12067>`_)
55+
- 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>`_)
56+
- Pass the ``-r`` flag to mercurial to be explicit that a revision is passed and protect
57+
against ``hg`` options injection as part of VCS URLs. Users that do not have control on
58+
VCS URLs passed to pip are advised to upgrade. (`#12119 <https://github.com/pypa/pip/issues/12119>`_)
59+
60+
Vendored Libraries
61+
------------------
62+
63+
- Upgrade certifi to 2023.5.7
64+
- Upgrade platformdirs to 3.8.1
65+
- Upgrade pygments to 2.15.1
66+
- Upgrade pyparsing to 3.1.0
67+
- Upgrade Requests to 2.31.0
68+
- Upgrade rich to 13.4.2
69+
- Upgrade setuptools to 68.0.0
70+
- Updated typing_extensions to 4.6.0
71+
- Upgrade typing_extensions to 4.7.1
72+
- Upgrade urllib3 to 1.26.16
73+
74+
1275
23.1.2 (2023-04-26)
1376
===================
1477

README.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ We release updates regularly, with a new version every 3 months. Find more detai
1919
* `Release notes`_
2020
* `Release process`_
2121

22-
In pip 20.3, we've `made a big improvement to the heart of pip`_; `learn more`_. We want your input, so `sign up for our user experience research studies`_ to help us do it right.
23-
2422
**Note**: pip 21.0, in January 2021, removed Python 2 support, per pip's `Python 2 support policy`_. Please migrate to Python 3.
2523

2624
If you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms:
@@ -49,9 +47,6 @@ rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.
4947
.. _Release process: https://pip.pypa.io/en/latest/development/release-process/
5048
.. _GitHub page: https://github.com/pypa/pip
5149
.. _Development documentation: https://pip.pypa.io/en/latest/development
52-
.. _made a big improvement to the heart of pip: https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html
53-
.. _learn more: https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-3-2020
54-
.. _sign up for our user experience research studies: https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html
5550
.. _Python 2 support policy: https://pip.pypa.io/en/latest/development/release-process/#python-2-support
5651
.. _Issue tracking: https://github.com/pypa/pip/issues
5752
.. _Discourse channel: https://discuss.python.org/c/packaging

SECURITY.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1-
# Security and Vulnerability Reporting
1+
# Security Policy
22

3-
If you find any security issues, please report to [[email protected]](mailto:[email protected])
3+
## Reporting a Vulnerability
4+
5+
Please read the guidelines on reporting security issues [on the
6+
official website](https://www.python.org/dev/security/) for
7+
instructions on how to report a security-related problem to
8+
the Python Security Response Team responsibly.
9+
10+
To reach the response team, email `security at python dot org`.

docs/html/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ $ pip install --upgrade pip
103103
The current version of pip works on:
104104

105105
- Windows, Linux and MacOS.
106-
- CPython 3.7, 3.8, 3.9, 3.10 and latest PyPy3.
106+
- CPython 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, and latest PyPy3.
107107

108108
pip is tested to work on the latest patch version of the Python interpreter,
109109
for each of the minor versions listed above. Previous patch versions are

docs/html/reference/installation-report.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ package with the following properties:
5656
URL reference. `false` if the requirements was provided as a name and version
5757
specifier.
5858

59+
- `is_yanked`: `true` if the requirement was yanked from the index, but was still
60+
selected by pip conform to [PEP 592](https://peps.python.org/pep-0592/#installers).
61+
5962
- `download_info`: Information about the artifact (to be) downloaded for installation,
6063
using the [direct URL data
6164
structure](https://packaging.python.org/en/latest/specifications/direct-url-data-structure/).
@@ -106,6 +109,7 @@ will produce an output similar to this (metadata abriged for brevity):
106109
}
107110
},
108111
"is_direct": false,
112+
"is_yanked": false,
109113
"requested": true,
110114
"metadata": {
111115
"name": "pydantic",
@@ -133,6 +137,7 @@ will produce an output similar to this (metadata abriged for brevity):
133137
}
134138
},
135139
"is_direct": true,
140+
"is_yanked": false,
136141
"requested": true,
137142
"metadata": {
138143
"name": "packaging",

docs/html/topics/authentication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ man pages][netrc-docs].
6868
pip supports loading credentials stored in your keyring using the
6969
{pypi}`keyring` library, which can be enabled py passing `--keyring-provider`
7070
with a value of `auto`, `disabled`, `import`, or `subprocess`. The default
71-
value `auto` respects `--no-input` and not query keyring at all if the option
71+
value `auto` respects `--no-input` and does not query keyring at all if the option
7272
is used; otherwise it tries the `import`, `subprocess`, and `disabled`
7373
providers (in this order) and uses the first one that works.
7474

0 commit comments

Comments
 (0)