Skip to content

Commit

Permalink
Merge branch 'main' into update-setuptools
Browse files Browse the repository at this point in the history
  • Loading branch information
pradyunsg authored Feb 13, 2023
2 parents 85da66d + 852dedd commit 39d28cc
Show file tree
Hide file tree
Showing 71 changed files with 350 additions and 193 deletions.
16 changes: 16 additions & 0 deletions AUTHORS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ Chris Hunt
Chris Jerdonek
Chris McDonough
Chris Pawley
Chris Pryer
Chris Wolfe
Christian Clauss
Christian Heimes
Expand Down Expand Up @@ -169,7 +170,9 @@ Daniel Jost
Daniel Katz
Daniel Shaulov
Daniele Esposti
Daniele Nicolodi
Daniele Procida
Daniil Konovalenko
Danny Hermes
Danny McClanahan
Darren Kavanagh
Expand Down Expand Up @@ -200,13 +203,15 @@ Diego Caraballo
Diego Ramirez
DiegoCaraballo
Dimitri Merejkowsky
Dimitri Papadopoulos
Dirk Stolle
Dmitry Gladkov
Dmitry Volodin
Domen Kožar
Dominic Davis-Foster
Donald Stufft
Dongweiming
doron zarhi
Douglas Thor
DrFeathers
Dustin Ingram
Expand Down Expand Up @@ -282,6 +287,7 @@ hauntsaninja
Henrich Hartzer
Henry Schreiner
Herbert Pfennig
Holly Stotelmyer
Hsiaoming Yang
Hugo Lopes Tavares
Hugo van Kemenade
Expand All @@ -305,6 +311,7 @@ Jacob Kim
Jacob Walls
Jaime Sanz
jakirkham
Jakub Kuczys
Jakub Stasiak
Jakub Vysoky
Jakub Wilk
Expand All @@ -317,6 +324,7 @@ Jan Pokorný
Jannis Leidel
Jarek Potiuk
jarondl
Jason Curtis
Jason R. Coombs
Jay Graves
Jean-Christophe Fillion-Robin
Expand All @@ -342,6 +350,7 @@ Jon Dufresne
Jon Parise
Jonas Nockert
Jonathan Herbert
Joonatan Partanen
Joost Molenaar
Jorge Niedbalski
Joseph Bylund
Expand All @@ -350,6 +359,7 @@ Josh Bronson
Josh Hansen
Josh Schneier
Juanjo Bazán
Judah Rand
Julian Berman
Julian Gethmann
Julien Demoor
Expand Down Expand Up @@ -455,6 +465,7 @@ Miro Hrončok
Monica Baluna
montefra
Monty Taylor
Muha Ajjan‮
Nadav Wexler
Nahuel Ambrosini
Nate Coraor
Expand Down Expand Up @@ -484,6 +495,7 @@ nvdv
OBITORASU
Ofek Lev
ofrinevo
Oliver Freund
Oliver Jeeves
Oliver Mannion
Oliver Tonnhofer
Expand Down Expand Up @@ -555,6 +567,7 @@ Riccardo Schirone
Richard Jones
Richard Si
Ricky Ng-Adam
Rishi
RobberPhex
Robert Collins
Robert McGibbon
Expand Down Expand Up @@ -605,6 +618,7 @@ Stavros Korokithakis
Stefan Scherfke
Stefano Rivera
Stephan Erb
Stephen Rosen
stepshal
Steve (Gadget) Barnes
Steve Barnes
Expand Down Expand Up @@ -644,6 +658,7 @@ Tom V
Tomas Hrnciar
Tomas Orsava
Tomer Chachamu
Tommi Enenkel | AnB
Tomáš Hrnčiar
Tony Beswick
Tony Narlock
Expand Down Expand Up @@ -672,6 +687,7 @@ Wil Tan
Wilfred Hughes
William ML Leslie
William T Olson
William Woodruff
Wilson Mo
wim glenn
Winson Luk
Expand Down
57 changes: 57 additions & 0 deletions NEWS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,63 @@
.. towncrier release notes start
23.0 (2023-01-30)
=================

Features
--------

- Change the hashes in the installation report to be a mapping. Emit the
``archive_info.hashes`` dictionary in ``direct_url.json``. (`#11312 <https://github.com/pypa/pip/issues/11312>`_)
- Implement logic to read the ``EXTERNALLY-MANAGED`` file as specified in PEP 668.
This allows a downstream Python distributor to prevent users from using pip to
modify the externally managed environment. (`#11381 <https://github.com/pypa/pip/issues/11381>`_)
- Enable the use of ``keyring`` found on ``PATH``. This allows ``keyring``
installed using ``pipx`` to be used by ``pip``. (`#11589 <https://github.com/pypa/pip/issues/11589>`_)
- The inspect and installation report formats are now declared stable, and their version
has been bumped from ``0`` to ``1``. (`#11757 <https://github.com/pypa/pip/issues/11757>`_)

Bug Fixes
---------

- Wheel cache behavior is restored to match previous versions, allowing the
cache to find existing entries. (`#11527 <https://github.com/pypa/pip/issues/11527>`_)
- Use the "venv" scheme if available to obtain prefixed lib paths. (`#11598 <https://github.com/pypa/pip/issues/11598>`_)
- Deprecated a historical ambiguity in how ``egg`` fragments in URL-style
requirements are formatted and handled. ``egg`` fragments that do not look
like PEP 508 names now produce a deprecation warning. (`#11617 <https://github.com/pypa/pip/issues/11617>`_)
- Fix scripts path in isolated build environment on Debian. (`#11623 <https://github.com/pypa/pip/issues/11623>`_)
- Make ``pip show`` show the editable location if package is editable (`#11638 <https://github.com/pypa/pip/issues/11638>`_)
- Stop checking that ``wheel`` is present when ``build-system.requires``
is provided without ``build-system.build-backend`` as ``setuptools``
(which we still check for) will inject it anyway. (`#11673 <https://github.com/pypa/pip/issues/11673>`_)
- Fix an issue when an already existing in-memory distribution would cause
exceptions in ``pip install`` (`#11704 <https://github.com/pypa/pip/issues/11704>`_)

Vendored Libraries
------------------

- Upgrade certifi to 2022.12.7
- Upgrade chardet to 5.1.0
- Upgrade colorama to 0.4.6
- Upgrade distro to 1.8.0
- Remove pep517 from vendored packages
- Upgrade platformdirs to 2.6.2
- Add pyproject-hooks 1.0.0
- Upgrade requests to 2.28.2
- Upgrade rich to 12.6.0
- Upgrade urllib3 to 1.26.14

Improved Documentation
----------------------

- Fixed the description of the option "--install-options" in the documentation (`#10265 <https://github.com/pypa/pip/issues/10265>`_)
- Remove mention that editable installs are necessary for pip freeze to report the VCS
URL. (`#11675 <https://github.com/pypa/pip/issues/11675>`_)
- Clarify that the egg URL fragment is only necessary for editable VCS installs, and
otherwise not necessary anymore. (`#11676 <https://github.com/pypa/pip/issues/11676>`_)


22.3.1 (2022-11-05)
===================

Expand Down
21 changes: 16 additions & 5 deletions docs/html/topics/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@ and how they are related to pip's various command line options.

## Configuration Files

Configuration files can change the default values for command line option.
They are written using a standard INI style configuration files.
Configuration files can change the default values for command line options.
They are written using standard INI style configuration files.

pip has 3 "levels" of configuration files:
pip has 4 "levels" of configuration files:

- `global`: system-wide configuration file, shared across users.
- `user`: per-user configuration file.
- `global`: system-wide configuration file, shared across all users.
- `user`: per-user configuration file, shared across all environments.
- `base` : per-base environment configuration file, shared across all virtualenvs with the same base. (available since pip 23.0)
- `site`: per-environment configuration file; i.e. per-virtualenv.

### Location
Expand All @@ -47,6 +48,9 @@ User
The legacy "per-user" configuration file is also loaded, if it exists: {file}`$HOME/.pip/pip.conf`.
Base
: {file}`\{sys.base_prefix\}/pip.conf`
Site
: {file}`$VIRTUAL_ENV/pip.conf`
```
Expand All @@ -63,6 +67,9 @@ User
The legacy "per-user" configuration file is also loaded, if it exists: {file}`$HOME/.pip/pip.conf`.
Base
: {file}`\{sys.base_prefix\}/pip.conf`
Site
: {file}`$VIRTUAL_ENV/pip.conf`
```
Expand All @@ -81,6 +88,9 @@ User
The legacy "per-user" configuration file is also loaded, if it exists: {file}`%HOME%\\pip\\pip.ini`
Base
: {file}`\{sys.base_prefix\}\\pip.ini`
Site
: {file}`%VIRTUAL_ENV%\\pip.ini`
```
Expand All @@ -102,6 +112,7 @@ order:
- `PIP_CONFIG_FILE`, if given.
- Global
- User
- Base
- Site

Each file read overrides any values read from previous files, so if the
Expand Down
1 change: 0 additions & 1 deletion news/10265.removal.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/11312.feature.rst

This file was deleted.

3 changes: 0 additions & 3 deletions news/11381.feature.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/11527.bugfix.rst

This file was deleted.

1 change: 1 addition & 0 deletions news/11529.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix grammar by changing "A new release of pip available:" to "A new release of pip is available:" in the notice used for indicating that.
2 changes: 0 additions & 2 deletions news/11589.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/11598.bugfix.rst

This file was deleted.

3 changes: 0 additions & 3 deletions news/11617.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/11623.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/11638.bugfix.rst

This file was deleted.

1 change: 1 addition & 0 deletions news/11671.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Ignore PIP_REQUIRE_VIRTUALENV for ``pip index``
3 changes: 0 additions & 3 deletions news/11673.bugfix.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/11675.doc.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/11676.doc.rst

This file was deleted.

2 changes: 0 additions & 2 deletions news/11704.bugfix.rst

This file was deleted.

3 changes: 3 additions & 0 deletions news/11740.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Improve handling of isolated build environments on platforms that
customize the Python's installation schemes, such as Debian and
Homebrew.
2 changes: 0 additions & 2 deletions news/11757.feature.rst

This file was deleted.

1 change: 1 addition & 0 deletions news/11773.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Do not crash in presence of misformatted hash field in ``direct_url.json``.
1 change: 1 addition & 0 deletions news/11774.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Correct the way to decide if keyring is available.
2 changes: 2 additions & 0 deletions news/11775.doc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Cross-reference the ``--python`` flag from the ``--prefix`` flag,
and mention limitations of ``--prefix`` regarding script installation.
2 changes: 2 additions & 0 deletions news/11780.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Implement ``--break-system-packages`` to permit installing packages into
``EXTERNALLY-MANAGED`` Python installations.
Empty file.
Empty file.
1 change: 1 addition & 0 deletions news/9752.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
In the case of virtual environments, configuration files are now also included from the base installation.
Empty file.
1 change: 0 additions & 1 deletion news/certifi.vendor.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/chardet.vendor.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/colorama.vendor.rst

This file was deleted.

Empty file.
1 change: 0 additions & 1 deletion news/distro.vendor.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/pep517.vendor.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/platformdirs.vendor.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/pyproject-hooks.vendor.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/requests.vendor.rst

This file was deleted.

1 change: 1 addition & 0 deletions news/resolvelib.vendor.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Upgrade resolvelib to 0.9.0
1 change: 0 additions & 1 deletion news/rich.vendor.rst

This file was deleted.

1 change: 0 additions & 1 deletion news/urllib3.vendor.rst

This file was deleted.

13 changes: 11 additions & 2 deletions noxfile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Automation using nox.
"""

import argparse
import glob
import os
import shutil
Expand Down Expand Up @@ -183,7 +184,13 @@ def lint(session: nox.Session) -> None:
def vendoring(session: nox.Session) -> None:
session.install("vendoring~=1.2.0")

if "--upgrade" not in session.posargs:
parser = argparse.ArgumentParser(prog="nox -s vendoring")
parser.add_argument("--upgrade-all", action="store_true")
parser.add_argument("--upgrade", action="append", default=[])
parser.add_argument("--skip", action="append", default=[])
args = parser.parse_args(session.posargs)

if not (args.upgrade or args.upgrade_all):
session.run("vendoring", "sync", "-v")
return

Expand All @@ -199,7 +206,9 @@ def pinned_requirements(path: Path) -> Iterator[Tuple[str, str]]:

vendor_txt = Path("src/pip/_vendor/vendor.txt")
for name, old_version in pinned_requirements(vendor_txt):
if name == "setuptools":
if name in args.skip:
continue
if args.upgrade and name not in args.upgrade:
continue

# update requirements.txt
Expand Down
2 changes: 1 addition & 1 deletion src/pip/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import List, Optional

__version__ = "23.0.dev0"
__version__ = "23.1.dev0"


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

0 comments on commit 39d28cc

Please sign in to comment.