Skip to content

Commit 662f940

Browse files
committed
Merge branch 'main' into test_zipapp
2 parents 81e813a + b8ccb04 commit 662f940

File tree

290 files changed

+13724
-25902
lines changed

Some content is hidden

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

290 files changed

+13724
-25902
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,13 @@ jobs:
4646
# Anything that's touching "vendored code"
4747
- "src/pip/_vendor/**"
4848
- "pyproject.toml"
49+
- "noxfile.py"
4950
tests:
5051
# Anything that's touching code-related stuff
5152
- ".github/workflows/ci.yml"
5253
- "src/**"
5354
- "tests/**"
55+
- "noxfile.py"
5456
if: github.event_name == 'pull_request'
5557

5658
pre-commit:

.pre-commit-config.yaml

Lines changed: 3 additions & 3 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.2.0
5+
rev: v4.3.0
66
hooks:
77
- id: check-builtin-literals
88
- id: check-added-large-files
@@ -17,7 +17,7 @@ repos:
1717
exclude: .patch
1818

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

@@ -39,7 +39,7 @@ repos:
3939
files: \.py$
4040

4141
- repo: https://github.com/pre-commit/mirrors-mypy
42-
rev: v0.942
42+
rev: v0.961
4343
hooks:
4444
- id: mypy
4545
exclude: tests/data

AUTHORS.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Andre Aguiar
3939
Andreas Lutro
4040
Andrei Geacar
4141
Andrew Gaul
42+
Andrew Shymanel
4243
Andrey Bienkowski
4344
Andrey Bulgakov
4445
Andrés Delfino
@@ -183,6 +184,7 @@ David Hewitt
183184
David Linke
184185
David Poggi
185186
David Pursehouse
187+
David Runge
186188
David Tucker
187189
David Wales
188190
Davidovich
@@ -235,6 +237,8 @@ Felix Yan
235237
fiber-space
236238
Filip Kokosiński
237239
Filipe Laíns
240+
Finn Womack
241+
finnagin
238242
Florian Briand
239243
Florian Rathgeber
240244
Francesco
@@ -275,6 +279,7 @@ Herbert Pfennig
275279
Hsiaoming Yang
276280
Hugo Lopes Tavares
277281
Hugo van Kemenade
282+
Hugues Bruant
278283
Hynek Schlawack
279284
Ian Bicking
280285
Ian Cordasco
@@ -561,6 +566,7 @@ Ryan Wooden
561566
ryneeverett
562567
Sachi King
563568
Salvatore Rinchiera
569+
sandeepkiran-js
564570
Savio Jomton
565571
schlamar
566572
Scott Kitterman
@@ -571,6 +577,7 @@ Sebastian Schaetz
571577
Segev Finer
572578
SeongSoo Cho
573579
Sergey Vasilyev
580+
Seth Michael Larson
574581
Seth Woodworth
575582
shireenrao
576583
Shivansh-007
@@ -615,6 +622,7 @@ Thomas Guettler
615622
Thomas Johansson
616623
Thomas Kluyver
617624
Thomas Smith
625+
Thomas VINCENT
618626
Tim D. Smith
619627
Tim Gates
620628
Tim Harder
@@ -629,6 +637,7 @@ Tomas Orsava
629637
Tomer Chachamu
630638
Tomáš Hrnčiar
631639
Tony Beswick
640+
Tony Narlock
632641
Tony Zhaocheng Tan
633642
TonyBeswick
634643
toonarmycaptain
@@ -674,5 +683,6 @@ Zhiping Deng
674683
ziebam
675684
Zvezdan Petkovic
676685
Łukasz Langa
686+
Роман Донченко
677687
Семён Марьясин
678688
‮rekcäH nitraM‮

NEWS.rst

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,100 @@
99
1010
.. towncrier release notes start
1111
12+
22.2.1 (2022-07-27)
13+
===================
14+
15+
Bug Fixes
16+
---------
17+
18+
- Send the pip upgrade prompt to stderr. (`#11282 <https://github.com/pypa/pip/issues/11282>`_)
19+
- Ensure that things work correctly in environments where setuptools-injected
20+
``distutils`` is available by default. This is done by cooperating with
21+
setuptools' injection logic to ensure that pip uses the ``distutils`` from the
22+
Python standard library instead. (`#11298 <https://github.com/pypa/pip/issues/11298>`_)
23+
- Clarify that ``pip cache``'s wheels-related output is about locally built wheels only. (`#11300 <https://github.com/pypa/pip/issues/11300>`_)
24+
25+
26+
22.2 (2022-07-21)
27+
=================
28+
29+
Deprecations and Removals
30+
-------------------------
31+
32+
- Remove the ``html5lib`` deprecated feature flag. (`#10825 <https://github.com/pypa/pip/issues/10825>`_)
33+
- Remove ``--use-deprecated=backtrack-on-build-failures``. (`#11241 <https://github.com/pypa/pip/issues/11241>`_)
34+
35+
Features
36+
--------
37+
38+
- Add support to use `truststore <https://pypi.org/project/truststore/>`_ as an
39+
alternative SSL certificate verification backend. The backend can be enabled on Python
40+
3.10 and later by installing ``truststore`` into the environment, and adding the
41+
``--use-feature=truststore`` flag to various pip commands.
42+
43+
``truststore`` differs from the current default verification backend (provided by
44+
``certifi``) in it uses the operating system’s trust store, which can be better
45+
controlled and augmented to better support non-standard certificates. Depending on
46+
feedback, pip may switch to this as the default certificate verification backend in
47+
the future. (`#11082 <https://github.com/pypa/pip/issues/11082>`_)
48+
- Add ``--dry-run`` option to ``pip install``, to let it print what it would install but
49+
not actually change anything in the target environment. (`#11096 <https://github.com/pypa/pip/issues/11096>`_)
50+
- Record in wheel cache entries the URL of the original artifact that was downloaded
51+
to build the cached wheels. The record is named ``origin.json`` and uses the PEP 610
52+
Direct URL format. (`#11137 <https://github.com/pypa/pip/issues/11137>`_)
53+
- Support `PEP 691 <https://peps.python.org/pep-0691/>`_. (`#11158 <https://github.com/pypa/pip/issues/11158>`_)
54+
- pip's deprecation warnings now subclass the built-in ``DeprecationWarning``, and
55+
can be suppressed by running the Python interpreter with
56+
``-W ignore::DeprecationWarning``. (`#11225 <https://github.com/pypa/pip/issues/11225>`_)
57+
- Add ``pip inspect`` command to obtain the list of installed distributions and other
58+
information about the Python environment, in JSON format. (`#11245 <https://github.com/pypa/pip/issues/11245>`_)
59+
- Significantly speed up isolated environment creation, by using the same
60+
sources for pip instead of creating a standalone installation for each
61+
environment. (`#11257 <https://github.com/pypa/pip/issues/11257>`_)
62+
- Add an experimental ``--report`` option to the install command to generate a JSON report
63+
of what was installed. In combination with ``--dry-run`` and ``--ignore-installed`` it
64+
can be used to resolve the requirements. (`#53 <https://github.com/pypa/pip/issues/53>`_)
65+
66+
Bug Fixes
67+
---------
68+
69+
- Fix ``pip install --pre`` for packages with pre-release build dependencies defined
70+
both in ``pyproject.toml``'s ``build-system.requires`` and ``setup.py``'s
71+
``setup_requires``. (`#10222 <https://github.com/pypa/pip/issues/10222>`_)
72+
- When pip rewrites the shebang line in a script during wheel installation,
73+
update the hash and size in the corresponding ``RECORD`` file entry. (`#10744 <https://github.com/pypa/pip/issues/10744>`_)
74+
- Do not consider a ``.dist-info`` directory found inside a wheel-like zip file
75+
as metadata for an installed distribution. A package in a wheel is (by
76+
definition) not installed, and is not guaranteed to work due to how a wheel is
77+
structured. (`#11217 <https://github.com/pypa/pip/issues/11217>`_)
78+
- Use ``importlib.resources`` to read the ``vendor.txt`` file in ``pip debug``.
79+
This makes the command safe for use from a zipapp. (`#11248 <https://github.com/pypa/pip/issues/11248>`_)
80+
- Make the ``--use-pep517`` option of the ``download`` command apply not just
81+
to the requirements specified on the command line, but to their dependencies,
82+
as well. (`#9523 <https://github.com/pypa/pip/issues/9523>`_)
83+
84+
Process
85+
-------
86+
87+
- Remove reliance on the stdlib cgi module, which is deprecated in Python 3.11.
88+
89+
Vendored Libraries
90+
------------------
91+
92+
- Remove html5lib.
93+
- Upgrade certifi to 2022.6.15
94+
- Upgrade chardet to 5.0.0
95+
- Upgrade colorama to 0.4.5
96+
- Upgrade distlib to 0.3.5
97+
- Upgrade msgpack to 1.0.4
98+
- Upgrade pygments to 2.12.0
99+
- Upgrade pyparsing to 3.0.9
100+
- Upgrade requests to 2.28.1
101+
- Upgrade rich to 12.5.1
102+
- Upgrade typing_extensions to 4.3.0
103+
- Upgrade urllib3 to 1.26.10
104+
105+
12106
22.1.2 (2022-05-31)
13107
===================
14108

docs/html/cli/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pip
1616
1717
pip_install
1818
pip_uninstall
19+
pip_inspect
1920
pip_list
2021
pip_show
2122
pip_freeze

docs/html/cli/pip_inspect.rst

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
.. _`pip inspect`:
2+
3+
===========
4+
pip inspect
5+
===========
6+
7+
.. versionadded:: 22.2
8+
9+
10+
Usage
11+
=====
12+
13+
.. tab:: Unix/macOS
14+
15+
.. pip-command-usage:: inspect "python -m pip"
16+
17+
.. tab:: Windows
18+
19+
.. pip-command-usage:: inspect "py -m pip"
20+
21+
22+
Description
23+
===========
24+
25+
.. pip-command-description:: inspect
26+
27+
The format of the JSON output is described in :doc:`../reference/inspect-report`.
28+
29+
30+
Options
31+
=======
32+
33+
.. pip-command-options:: inspect

docs/html/cli/pip_install.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,18 @@ for an exception regarding pre-release versions). Where more than one source of
7979
the chosen version is available, it is assumed that any source is acceptable
8080
(as otherwise the versions would differ).
8181

82+
Obtaining information about what was installed
83+
----------------------------------------------
84+
85+
The install command has a ``--report`` option that will generate a JSON report of what
86+
pip has installed. In combination with the ``--dry-run`` and ``--ignore-installed`` it
87+
can be used to *resolve* a set of requirements without actually installing them.
88+
89+
The report can be written to a file, or to standard output (using ``--report -`` in
90+
combination with ``--quiet``).
91+
92+
The format of the JSON report is described in :doc:`../reference/installation-report`.
93+
8294
Installation Order
8395
------------------
8496

docs/html/reference/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,6 @@ interoperability standards that pip utilises/implements.
99
build-system/index
1010
requirement-specifiers
1111
requirements-file-format
12+
installation-report
13+
inspect-report
1214
```

0 commit comments

Comments
 (0)