The NetBSD Project

CVS log for pkgsrc/devel/py-pip/Makefile

[BACK] Up to [] / pkgsrc / devel / py-pip

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.70 / (download) - annotate - [select for diffs], Tue Nov 28 21:51:31 2023 UTC (8 days, 9 hours ago) by abs
Branch: MAIN
Changes since 1.69: +2 -1 lines
Diff to previous 1.69 (colored)


Revision 1.69 / (download) - annotate - [select for diffs], Sat Oct 21 14:31:55 2023 UTC (6 weeks, 4 days ago) by adam
Branch: MAIN
Changes since 1.68: +2 -2 lines
Diff to previous 1.68 (colored)

py-pip: updated to 23.3.1

23.3.1 (2023-10-21)

Bug Fixes

- Handle a timezone indicator of Z when parsing dates in the self check.
- Fix bug where installing the same package at the same time with multiple pip processes could fail.

Revision 1.68 / (download) - annotate - [select for diffs], Sun Oct 15 19:37:43 2023 UTC (7 weeks, 3 days ago) by adam
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

py-pip: updated to 23.3

23.3 (2023-10-15)


- Added reference to `vulnerability reporting guidelines <>`_ to pip's security policy.

Deprecations and Removals

- 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.


- Improve extras resolution for multiple constraints on same base package.
- Improve use of datastructures to make candidate selection 1.6x faster
- Allow ``pip install --dry-run`` to use platform and ABI overriding options similar to ``--target``.
- 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.

Bug Fixes

- Ignore errors in temporary directory cleanup (show a warning instead).
- Normalize extras according to :pep:`685` from package metadata in the resolver
  for comparison. This ensures extras are correctly compared and merged as long
  as the package providing the extra(s) is built with values normalized according
  to the standard. Note, however, that this *does not* solve cases where the
  package itself contains unnormalized extra values in the metadata.
- Prevent downloading sdists twice when PEP 658 metadata is present.
- Include all requested extras in the install report (``--report``).
- Removed uses of ``datetime.datetime.utcnow`` from non-vendored code.
- Consistently report whether a dependency comes from an extra.
- Fix completion script for zsh
- Fix improper handling of the new onexc argument of ``shutil.rmtree()`` in Python 3.12.
- 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.
- Fix crash when the git version number contains something else than digits and dots.
- Use ``-r=...`` instead of ``-r ...`` to specify references with Mercurial.
- Redact password from URLs in some additional places.
- 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).

Vendored Libraries

- Upgrade certifi to 2023.7.22
- Add truststore 0.8.0
- Upgrade urllib3 to 1.26.17

Improved Documentation

- Document that ``pip search`` support has been removed from PyPI
- Clarify --prefer-binary in CLI and docs
- Document that using OS-provided Python can cause pip's test suite to report false failures.

Revision 1.67 / (download) - annotate - [select for diffs], Mon Jul 24 18:39:00 2023 UTC (4 months, 1 week ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)

py-pip: updated to 23.2.1

23.2.1 (2023-07-22)

Bug Fixes
- Disable PEP 658 metadata fetching with the legacy resolver.

Revision 1.66 / (download) - annotate - [select for diffs], Tue Jul 18 06:18:10 2023 UTC (4 months, 2 weeks ago) by adam
Branch: MAIN
Changes since 1.65: +2 -3 lines
Diff to previous 1.65 (colored)

py-pip: updated to 23.2

23.2 (2023-07-15)


- 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 <>`__.

Deprecations and Removals

- Deprecate legacy version and version specifiers that don't conform to `PEP 440
- ``freeze`` no longer excludes the ``setuptools``, ``distribute``, and ``wheel``
  from the output when running on Python 3.12 or later, where they are not
  included in a virtual environment by default. Use ``--exclude`` if you wish to
  exclude any of these packages.


- make rejection messages slightly different between 1 and 8, so the user can make the difference.

Bug Fixes

- Fix ``pip completion --zsh``.
- Prevent downloading files twice when PEP 658 metadata is present
- Add permission check before configuration
- Fix deprecation warnings in Python 3.12 for usage of shutil.rmtree
- Ignore invalid or unreadable ``origin.json`` files in the cache of locally built wheels.
- Fix installation of packages with PEP658 metadata using non-canonicalized names
- Correctly parse ``dist-info-metadata`` values from JSON-format index data.
- Fail with an error if the ``--python`` option is specified after the subcommand name.
- 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.
- Pass the ``-r`` flag to mercurial to be explicit that a revision is passed and protect
  against ``hg`` options injection as part of VCS URLs. Users that do not have control on
  VCS URLs passed to pip are advised to upgrade.

Vendored Libraries

- Upgrade certifi to 2023.5.7
- Upgrade platformdirs to 3.8.1
- Upgrade pygments to 2.15.1
- Upgrade pyparsing to 3.1.0
- Upgrade Requests to 2.31.0
- Upgrade rich to 13.4.2
- Upgrade setuptools to 68.0.0
- Updated typing_extensions to 4.6.0
- Upgrade typing_extensions to 4.7.1
- Upgrade urllib3 to 1.26.16

Revision 1.65 / (download) - annotate - [select for diffs], Wed Jun 14 11:30:54 2023 UTC (5 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.64: +2 -1 lines
Diff to previous 1.64 (colored)

py-pip: Allow `pip install --executable=/path' to set #! in scripts.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Apr 26 12:40:29 2023 UTC (7 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)

py-pip: updated to 23.1.2

23.1.2 (2023-04-26)

Vendored Libraries
- Upgrade setuptools to 67.7.2

Revision 1.63 / (download) - annotate - [select for diffs], Sun Apr 23 10:02:49 2023 UTC (7 months, 2 weeks ago) by adam
Branch: MAIN
Changes since 1.62: +2 -2 lines
Diff to previous 1.62 (colored)

py-pip: updated to 23.1.1

23.1.1 (2023-04-22)

Bug Fixes
- Revert <>, as it causes issues with virtualenvs created by the Windows Store distribution of Python.

Vendored Libraries
- Revert pkg_resources (via setuptools) back to 65.6.3

Improved Documentation
- Update documentation to reflect the new behavior of using the cache of locally
  built wheels in hash-checking mode.

Revision 1.62 / (download) - annotate - [select for diffs], Fri Apr 21 09:21:43 2023 UTC (7 months, 2 weeks ago) by adam
Branch: MAIN
Changes since 1.61: +2 -3 lines
Diff to previous 1.61 (colored)

py-pip: updated to 23.1

23.1 (2023-04-15)

Deprecations and Removals
- Remove support for the deprecated ``--install-options``.
- ``--no-binary`` does not imply `` install`` anymore. Instead a wheel will be
  built locally and installed.
- ``--no-binary`` does not disable the cache of locally built wheels anymore. It only
  means "don't download wheels".
- Deprecate ``--build-option`` and ``--global-option``. Users are invited to switch to
- Using ``--config-settings`` with projects that don't have a ``pyproject.toml`` now print
  a deprecation warning. In the future the presence of config settings will automatically
  enable the default build backend for legacy projects and pass the setttings to it.
- Remove `` install`` fallback when building a wheel failed for projects without
- When the ``wheel`` package is not installed, pip now uses the default build backend
  instead of `` install`` for project without ``pyproject.toml``.

- Specify egg-link location in assertion message when it does not match installed location to provide better error message for debugging.
- Present conflict information during installation after each choice that is rejected (pass ``-vv`` to ``pip install`` to show it)
- Display dependency chain on each Collecting/Processing log line.
- Support a per-requirement ``--config-settings`` option in requirements files.
- The ``--config-settings``/``-C`` option now supports using the same key multiple
  times. When the same key is specified multiple times, all values are passed to
  the build backend as a list, as opposed to the previous behavior, where pip would
  only pass the last value if the same key was used multiple times.
- Add ``-C`` as a short version of the ``--config-settings`` option.
- Reduce the number of resolver rounds, since backjumping makes the resolver more efficient in finding solutions. This also makes pathological cases fail quicker.
- Warn if ``--hash`` is used on a line without requirement in a requirements file.
- Stop propagating CLI ``--config-settings`` to the build dependencies. They already did
  not propagate to requirements provided in requirement files. To pass the same config
  settings to several requirements, users should provide the requirements as CLI
- Support wheel cache when using ``--require-hashes``.
- Add ``--keyring-provider`` flag. See the Authentication page in the documentation for more info.
- In the case of virtual environments, configuration files are now also included from the base installation.

Bug Fixes
- 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.
- Normalize paths before checking if installed scripts are on PATH.
- Correct the way to decide if keyring is available.
- More consistent resolution backtracking by removing legacy hack related to setuptools resolution
- Include ``AUTHORS.txt`` in pip's wheels.
- The ``uninstall`` and ``install --force-reinstall`` commands no longer call
  ``normalize_path()`` repeatedly on the same paths. Instead, these results are
  cached for the duration of an uninstall operation, resulting in improved
  performance, particularly on Windows.
- Fix and improve the parsing of hashes embedded in URL fragments.
- When package A depends on package B provided as a direct URL dependency including a hash
  embedded in the link, the ``--require-hashes`` option did not warn when user supplied hashes
  were missing for package B.
- Correctly report ``requested_extras`` in the installation report when extras are
  specified for a local directory installation.
- When installing an archive from a direct URL or local file, populate
  ```` in the installation report, in addition to the legacy
  ```` key.

Vendored Libraries
- Upgrade msgpack to 1.0.5
- Patch pkg_resources to remove dependency on ``jaraco.text``.
- Upgrade platformdirs to 3.2.0
- Upgrade pygments to 2.14.0
- Upgrade resolvelib to 1.0.1
- Upgrade rich to 13.3.3
- Upgrade setuptools to 67.6.1
- Upgrade tenacity to 8.2.2
- Upgrade typing_extensions to 4.5.0
- Upgrade urllib3 to 1.26.15

Improved Documentation
- Cross-reference the ``--python`` flag from the ``--prefix`` flag,
  and mention limitations of ``--prefix`` regarding script installation.
- Add to make the policy offical.
- Add username to Git over SSH example.
- Quote extras in the pip install docs to guard shells with default glob
  qualifiers, like zsh.
- Make it clear that requirements/constraints file can be a URL

Revision 1.61 / (download) - annotate - [select for diffs], Wed Mar 29 09:34:08 2023 UTC (8 months, 1 week ago) by wiz
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)


Revision 1.60 / (download) - annotate - [select for diffs], Mon Mar 6 15:49:29 2023 UTC (9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1
Changes since 1.59: +2 -1 lines
Diff to previous 1.59 (colored)

py-pip: adapt patch for upstream changes

sysconfig is not imported any longer.

Reported by Gaige B Paulsen in


Revision 1.59 / (download) - annotate - [select for diffs], Tue Feb 21 06:31:44 2023 UTC (9 months, 2 weeks ago) by adam
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

py-pip: updated to 23.0.1

23.0.1 (2023-02-17)


- Ignore PIP_REQUIRE_VIRTUALENV for ``pip index``
- Implement ``--break-system-packages`` to permit installing packages into
  ``EXTERNALLY-MANAGED`` Python installations.

Bug Fixes

- Improve handling of isolated build environments on platforms that
  customize the Python's installation schemes, such as Debian and
- Do not crash in presence of misformatted hash field in ``direct_url.json``.

23.0 (2023-01-30)


- Change the hashes in the installation report to be a mapping. Emit the
  ``archive_info.hashes`` dictionary in ``direct_url.json``.
- 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.
- Enable the use of ``keyring`` found on ``PATH``. This allows ``keyring``
  installed using ``pipx`` to be used by ``pip``.
- The inspect and installation report formats are now declared stabled, and their version
  has been bumped from ``0`` to ``1``.

Bug Fixes

- Wheel cache behavior is restored to match previous versions, allowing the
  cache to find existing entries.
- Use the "venv" scheme if available to obtain prefixed lib paths.
- 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.
- Fix scripts path in isolated build environment on Debian.
- Make ``pip show`` show the editable location if package is editable
- Stop checking that ``wheel`` is present when ``build-system.requires``
  is provided without ```` as ``setuptools``
  (which we still check for) will inject it anyway.
- Fix an issue when an already existing in-memory distribution would cause
  exceptions in ``pip install``

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
- Remove mention that editable installs are necessary for pip freeze to report the VCS
- Clarify that the egg URL fragment is only necessary for editable VCS installs, and
  otherwise not necessary anymore.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Nov 11 07:52:15 2022 UTC (12 months, 3 weeks ago) by taca
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.57: +2 -1 lines
Diff to previous 1.57 (colored)

devel/py-pip: fix build problem with CHECK_PERMS is yes

There might be better way for python package, it works for me.

Revision 1.57 / (download) - annotate - [select for diffs], Tue Nov 8 11:53:49 2022 UTC (12 months, 4 weeks ago) by adam
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored)

py-pip: updated to 22.3.1

22.3.1 (2022-11-05)

Bug Fixes

- Fix entry point generation of ``pip.X``, ``pipX.Y``, and ``easy_install-X.Y``
  to correctly account for multi-digit Python version segments (e.g. the "11"
  part of 3.11).

Revision 1.56 / (download) - annotate - [select for diffs], Mon Oct 31 17:17:19 2022 UTC (13 months ago) by adam
Branch: MAIN
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored)

py-pip: updated to 22.3

22.3 (2022-10-15)

Deprecations and Removals
- Deprecate ``--install-options`` which forces pip to use the deprecated ``install``
  command of ``setuptools``.
- Deprecate installation with ' install' when no-binary is enabled for
  source distributions without 'pyproject.toml'.
- Deprecate ```--no-binary`` disabling the wheel cache.
- Remove ``--use-feature=2020-resolver`` opt-in flag. This was supposed to be removed in 21.0, but missed during that release cycle.
- Deprecate installation with ' install' when the 'wheel' package is absent for
  source distributions without 'pyproject.toml'.
- Remove the ability to use ``pip list --outdated`` in combination with ``--format=freeze``.

- Use ``shell=True`` for opening the editor with ``pip config edit``.
- Use the ``data-dist-info-metadata`` attribute from :pep:`658` to resolve distribution metadata without downloading the dist yet.
- Add an option to run the test suite with pip built as a zipapp.
- Add a ``--python`` option to allow pip to manage Python environments other
  than the one pip is installed in.
- Document the new (experimental) zipapp distribution of pip.
- Use the much faster 'bzr co --lightweight' to obtain a copy of a Bazaar tree.

Bug Fixes
- Fix ``--no-index`` when ``--index-url`` or ``--extra-index-url`` is specified
  inside a requirements file.
- Ensure that the candidate ``pip`` executable exists, when checking for a new version of pip.
- Ignore distributions with invalid ``Name`` in metadata instead of crashing, when
  using the ``importlib.metadata`` backend.
- Raise RequirementsFileParseError when parsing malformed requirements options that can't be sucessfully parsed by shlex.
- Fix build environment isolation on some system Pythons.

Vendored Libraries
- Upgrade certifi to 2022.9.24
- Upgrade distlib to 0.3.6
- Upgrade idna to 3.4
- Upgrade pep517 to 0.13.0
- Upgrade pygments to 2.13.0
- Upgrade tenacity to 8.1.0
- Upgrade typing_extensions to 4.4.0
- Upgrade urllib3 to 1.26.12

Improved Documentation
- Mention that --quiet must be used when writing the installation report to stdout.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Aug 10 09:17:47 2022 UTC (15 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.54: +2 -2 lines
Diff to previous 1.54 (colored)

py-pip: updated to 22.2.2

22.2.2 (2022-08-03)

Bug Fixes
- Avoid  ``AttributeError`` when removing the setuptools-provided ``_distutils_hack`` and it is missing its implementation.
- Fix import error when reinstalling pip in user site.
- Show pip deprecation warnings by default.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Jul 7 11:48:51 2022 UTC (17 months ago) by adam
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

py-pip: updated to 22.1.2

22.1.2 (2022-05-31)

Bug Fixes
- Revert <> since it introduced a regression in certain edge cases.
- Fix an incorrect assertion in the logging logic, that prevented the upgrade prompt from being presented.

22.1.1 (2022-05-20)

Bug Fixes
- Properly filter out optional dependencies (i.e. extras) when checking build environment distributions.
- Change the build environment dependency checking to be opt-in.
- Allow using a pre-release version to satisfy a build requirement. This helps
  manually populated build environments to more accurately detect build-time
  requirement conflicts.

22.1 (2022-05-11)

- Enable the ``importlib.metadata`` metadata implementation by default on
  Python 3.11 (or later). The environment variable ``_PIP_USE_IMPORTLIB_METADATA``
  can still be used to enable the implementation on 3.10 and earlier, or disable
  it on 3.11 (by setting it to ``0`` or ``false``).

Bug Fixes
- Revert <> since it introduced a regression in certain edge cases.
- Fix missing ``REQUESTED`` metadata when using URL constraints.
- ``pip config`` now normalizes names by converting underscores into dashes.

Revision 1.53 / (download) - annotate - [select for diffs], Wed Apr 20 21:04:12 2022 UTC (19 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2
Changes since 1.52: +2 -3 lines
Diff to previous 1.52 (colored)

py-pip: update to 22.0.4.

22.0.4 (2022-03-06)

Deprecations and Removals

- Drop the doctype check, that presented a warning for index pages that use non-compliant HTML 5. (`#10903 <>`_)

Vendored Libraries

- Downgrade distlib to 0.3.3.

22.0.3 (2022-02-03)


- Print the exception via ``rich.traceback``, when running with ``--debug``. (`#10791 <>`_)

Bug Fixes

- Only calculate topological installation order, for packages that are going to be installed/upgraded.

  This fixes an `AssertionError` that occured when determining installation order, for a very specific combination of upgrading-already-installed-package + change of dependencies + fetching some packages from a package index. This combination was especially common in Read the Docs' builds. (`#10851 <>`_)
- Use ``html.parser`` by default, instead of falling back to ``html5lib`` when ``--use-deprecated=html5lib`` is not passed. (`#10869 <>`_)

Improved Documentation

- Clarify that using per-requirement overrides disables the usage of wheels. (`#9674 <>`_)

22.0.2 (2022-01-30)

Deprecations and Removals

- Instead of failing on index pages that use non-compliant HTML 5, print a deprecation warning and fall back to ``html5lib``-based parsing for now. This simplifies the migration for non-compliant index pages, by letting such indexes function with a warning. (`#10847 <>`_)

22.0.1 (2022-01-30)

Bug Fixes

- Accept lowercase ``<!doctype html>`` on index pages. (`#10844 <>`_)
- Properly handle links parsed by html5lib, when using ``--use-deprecated=html5lib``. (`#10846 <>`_)

22.0 (2022-01-29)


- Completely replace :pypi:`tox` in our development workflow, with :pypi:`nox`.

Deprecations and Removals

- Deprecate alternative progress bar styles, leaving only ``on`` and ``off`` as available choices. (`#10462 <>`_)
- Drop support for Python 3.6. (`#10641 <>`_)
- Disable location mismatch warnings on Python versions prior to 3.10.

  These warnings were helping identify potential issues as part of the sysconfig -> distutils transition, and we no longer need to rely on reports from older Python versions for information on the transition. (`#10840 <>`_)


- Changed ``PackageFinder`` to parse HTML documents using the stdlib :class:`html.parser.HTMLParser` class instead of the ``html5lib`` package.

  For now, the deprecated ``html5lib`` code remains and can be used with the ``--use-deprecated=html5lib`` command line option. However, it will be removed in a future pip release. (`#10291 <>`_)
- Utilise ``rich`` for presenting pip's default download progress bar. (`#10462 <>`_)
- Present a better error message when an invalid wheel file is encountered, providing more context where the invalid wheel file is. (`#10535 <>`_)
- Documents the ``--require-virtualenv`` flag for ``pip install``. (`#10588 <>`_)
- ``pip install <tab>`` autocompletes paths. (`#10646 <>`_)
- Allow Python distributors to opt-out from or opt-in to the ``sysconfig`` installation scheme backend by setting ``sysconfig._PIP_USE_SYSCONFIG`` to ``True`` or ``False``. (`#10647 <>`_)
- Make it possible to deselect tests requiring cryptography package on systems where it cannot be installed. (`#10686 <>`_)
- Start using Rich for presenting error messages in a consistent format. (`#10703 <>`_)
- Improve presentation of errors from subprocesses. (`#10705 <>`_)
- Forward pip's verbosity configuration to VCS tools to control their output accordingly. (`#8819 <>`_)

Bug Fixes

- Optimize installation order calculation to improve performance when installing requirements that form a complex dependency graph with a large amount of edges. (`#10557 <>`_)
- When a package is requested by the user for upgrade, correctly identify that the extra-ed variant of that same package depended by another user-requested package is requesting the same package, and upgrade it accordingly. (`#10613 <>`_)
- Prevent pip from installing yanked releases unless explicitly pinned via the ``==`` or ``===`` operators. (`#10617 <>`_)
- Stop backtracking on build failures, by instead surfacing them to the user and aborting immediately. This behaviour provides more immediate feedback when a package cannot be built due to missing build dependencies or platform incompatibility. (`#10655 <>`_)
- Silence ``Value for <location> does not match`` warning caused by an erroneous patch in Slackware-distributed Python 3.9. (`#10668 <>`_)
- Fix an issue where pip did not consider dependencies with and without extras to be equal (`#9644 <>`_)

Vendored Libraries

- Upgrade CacheControl to 0.12.10
- Upgrade certifi to 2021.10.8
- Upgrade distlib to 0.3.4
- Upgrade idna to 3.3
- Upgrade msgpack to 1.0.3
- Upgrade packaging to 21.3
- Upgrade platformdirs to 2.4.1
- Add pygments 2.11.2 as a vendored dependency.
- Tree-trim unused portions of vendored pygments, to reduce the distribution size.
- Upgrade pyparsing to 3.0.7
- Upgrade Requests to 2.27.1
- Upgrade resolvelib to 0.8.1
- Add rich 11.0.0 as a vendored dependency.
- Tree-trim unused portions of vendored rich, to reduce the distribution size.
- Add typing_extensions 4.0.1 as a vendored dependency.
- Upgrade urllib3 to 1.26.8

21.3.1 (2021-10-22)

Bug Fixes

- Always refuse installing or building projects that have no ``pyproject.toml`` nor
  ````. (`#10531 <>`_)
- Tweak running-as-root detection, to check ``os.getuid`` if it exists, on Unix-y and non-Linux/non-MacOS machines. (`#10565 <>`_)
- When installing projects with a ``pyproject.toml`` in editable mode, and the build
  backend does not support :pep:`660`, prepare metadata using
  ``prepare_metadata_for_build_wheel`` instead of `` egg_info``. Also, refuse
  installing projects that only have a ``setup.cfg`` and no ```` nor
  ``pyproject.toml``. These restore the pre-21.3 behaviour. (`#10573 <>`_)
- Restore compatibility of where configuration files are loaded from on MacOS (back to ``Library/Application Support/pip``, instead of ``Preferences/pip``). (`#10585 <>`_)

Vendored Libraries

- Upgrade pep517 to 0.12.0

Revision 1.52 / (download) - annotate - [select for diffs], Tue Mar 15 21:22:59 2022 UTC (20 months, 3 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)

py-pip: copy distro config file to overlay directory

Fixes pip with overlay support.


Revision 1.51 / (download) - annotate - [select for diffs], Wed Jan 5 15:41:07 2022 UTC (23 months ago) by wiz
Branch: MAIN
Changes since 1.50: +4 -2 lines
Diff to previous 1.50 (colored)

python: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Jan 4 20:53:20 2022 UTC (23 months ago) by wiz
Branch: MAIN
Changes since 1.49: +2 -1 lines
Diff to previous 1.49 (colored)

*: bump PKGREVISION for users

They now have a tool dependency on py-setuptools instead of a DEPENDS

Revision 1.49 / (download) - annotate - [select for diffs], Sun Dec 19 13:34:26 2021 UTC (23 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.48: +3 -1 lines
Diff to previous 1.48 (colored)

py-pip: not for python 2.x

(Use py-pip20 instead)

Revision 1.48 / (download) - annotate - [select for diffs], Tue Nov 9 23:19:49 2021 UTC (2 years ago) by wiz
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored)

py-pip: update to 21.3.1, again.

Changelog in previous update commit.

Revision 1.47 / (download) - annotate - [select for diffs], Tue Nov 9 22:53:16 2021 UTC (2 years ago) by wiz
Branch: MAIN
Changes since 1.46: +1 -1 lines
Diff to previous 1.46 (colored)

py-pip: revert previous for now

I just noticed it drops support for python 2.x

Revision 1.46 / (download) - annotate - [select for diffs], Tue Nov 9 22:52:17 2021 UTC (2 years ago) by wiz
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)

py-pip: update to 21.3.1.

21.3.1 (2021-10-22)

Bug Fixes

- Always refuse installing or building projects that have no ``pyproject.toml`` nor
- Tweak running-as-root detection, to check ``os.getuid`` if it exists, on Unix-y and non-Linux/non-MacOS machines.
- When installing projects with a ``pyproject.toml`` in editable mode, and the build
  backend does not support :pep:`660`, prepare metadata using
  ``prepare_metadata_for_build_wheel`` instead of `` egg_info``. Also, refuse
  installing projects that only have a ``setup.cfg`` and no ```` nor
  ``pyproject.toml``. These restore the pre-21.3 behaviour.
- Restore compatibility of where configuration files are loaded from on MacOS (back to ``Library/Application Support/pip``, instead of ``Preferences/pip``).

Vendored Libraries

- Upgrade pep517 to 0.12.0

21.3 (2021-10-11)

Deprecations and Removals

- Improve deprecation warning regarding the copying of source trees when installing from a local directory.
- Suppress location mismatch warnings when pip is invoked from a Python source
  tree, so ``ensurepip`` does not emit warnings on CPython ``make install``.
- On Python 3.10 or later, the installation scheme backend has been changed to use
  ``sysconfig``. This is to anticipate the deprecation of ``distutils`` in Python
  3.10, and its scheduled removal in 3.12. For compatibility considerations, pip
  installations running on Python 3.9 or lower will continue to use ``distutils``.
- Remove the ``--build-dir`` option and aliases, one last time.
- In-tree builds are now the default. ``--use-feature=in-tree-build`` is now
  ignored. ``--use-deprecated=out-of-tree-build`` may be used temporarily to ease
  the transition.
- Un-deprecate source distribution re-installation behaviour.


- Replace vendored appdirs with platformdirs.
- Support `PEP 610 <>`_ to detect
  editable installs in ``pip freeze`` and  ``pip list``. The ``pip list`` column output
  has a new ``Editable project location`` column, and the JSON output has a new
  ``editable_project_location`` field.
- ``pip freeze`` will now always fallback to reporting the editable project
  location when it encounters a VCS error while analyzing an editable
  requirement. Before, it sometimes reported the requirement as non-editable.
- ``pip show`` now sorts ``Requires`` and ``Required-By`` alphabetically.
- Do not raise error when there are no files to remove with ``pip cache purge/remove``.
  Instead log a warning and continue (to log that we removed 0 files).
- When backtracking during dependency resolution, prefer the dependencies which are involved in the most recent conflict. This can significantly reduce the amount of backtracking required.
- Cache requirement objects, to improve performance reducing reparses of requirement strings.
- Support editable installs for projects that have a ``pyproject.toml`` and use a
  build backend that supports :pep:`660`.
- When a revision is specified in a Git URL, use git's partial clone feature to speed up source retrieval.
- Add a ``--debug`` flag, to enable a mode that doesn't log errors and propagates them to the top level instead. This is primarily to aid with debugging pip's crashes.
- If a host is explicitly specified as trusted by the user (via the --trusted-host option), cache HTTP responses from it in addition to HTTPS ones.

Bug Fixes

- Present a better error message, when a ``file:`` URL is not found.
- Fix the auth credential cache to allow for the case in which
  the index url contains the username, but the password comes
  from an external source, such as keyring.
- Fix double unescape of HTML ``data-requires-python`` and ``data-yanked`` attributes.
- New resolver: Fixes depth ordering of packages during resolution, e.g. a dependency 2 levels deep will be ordered before a dependecy 3 levels deep.
- Correctly indent metadata preparation messages in pip output.

Vendored Libraries

- Remove appdirs as a vendored dependency.
- Upgrade distlib to 0.3.3
- Upgrade distro to 1.6.0
- Patch pkg_resources to use platformdirs rather than appdirs.
- Add platformdirs as a vendored dependency.
- Upgrade progress to 1.6
- Upgrade resolvelib to 0.8.0
- Upgrade urllib3 to 1.26.7

Improved Documentation

- Update links of setuptools as setuptools moved these documents. The Simple Repository link now points to PyPUG as that is the canonical place of packaging specification, and setuptools's ``easy_install`` is deprecated.
- Create a "Build System Interface" reference section, for documenting how pip interacts with build systems.

21.2.4 (2021-08-12)

Bug Fixes

- Fix 3.6.0 compatibility in link comparison logic.

21.2.3 (2021-08-06)

Bug Fixes

- Modify the ``sysconfig.get_preferred_scheme`` function check to be
  compatible with CPython 3.10 alphareleases.

21.2.2 (2021-07-31)

Bug Fixes

- New resolver: When a package is specified with extras in constraints, and with
  extras in non-constraint requirements, the resolver now correctly identifies the
  constraint's existence and avoids backtracking.

21.2.1 (2021-07-25)


- The source distribution re-installation feature removal has been delayed to 21.3.

21.2 (2021-07-24)


- ``pip freeze``, ``pip list``, and ``pip show`` no longer normalize underscore
  (``_``) in distribution names to dash (``-``). This is a side effect of the
  migration to ``importlib.metadata``, since the underscore-dash normalization
  behavior is non-standard and specific to setuptools. This should not affect
  other parts of pip (for example, when feeding the ``pip freeze`` result back
  into ``pip install``) since pip internally performs standard PEP 503
  normalization independently to setuptools.

Deprecations and Removals

- Git version parsing is now done with regular expression to prepare for the
  pending upstream removal of non-PEP-440 version parsing logic.
- Re-enable the "Value for ... does not match" location warnings to field a new
  round of feedback for the ``distutils``-``sysconfig`` transition.
- Remove deprecated ``--find-links`` option in ``pip freeze``


- New resolver: Loosen URL comparison logic when checking for direct URL reference
  equivalency. The logic includes the following notable characteristics:

  * The authentication part of the URL is explicitly ignored.
  * Most of the fragment part, including ``egg=``, is explicitly ignored. Only
    ``subdirectory=`` and hash values (e.g. ``sha256=``) are kept.
  * The query part of the URL is parsed to allow ordering differences.
- Support TOML v1.0.0 syntax in ``pyproject.toml``.
- Added a warning message for errors caused due to Long Paths being disabled on Windows.
- Change the encoding of log file from default text encoding to UTF-8.
- Log the resolved commit SHA when installing a package from a Git repository.
- Add a warning when passing an invalid requirement to ``pip uninstall``.
- Add new subcommand ``pip index`` used to interact with indexes, and implement
  ``pip index version`` to list available versions of a package.
- When pip is asked to uninstall a project without the dist-info/RECORD file
  it will no longer traceback with FileNotFoundError,
  but it will provide a better error message instead, such as::

      ERROR: Cannot uninstall foobar 0.1, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps foobar==0.1'.

  When dist-info/INSTALLER is present and contains some useful information, the info is included in the error message instead::

      ERROR: Cannot uninstall foobar 0.1, RECORD file not found. Hint: The package was installed by rpm.

- Add an additional level of verbosity. ``--verbose`` (and the shorthand ``-v``) now
  contains significantly less output, and users that need complete full debug-level output
  should pass it twice (``--verbose --verbose`` or ``-vv``).
- New resolver: The order of dependencies resolution has been tweaked to traverse
  the dependency graph in a more breadth-first approach.
- Make "yes" the default choice in ``pip uninstall``'s prompt.
- Add a special error message when users forget the ``-r`` flag when installing.
- New resolver: A distribution's ``Requires-Python`` metadata is now checked
  before its Python dependencies. This makes the resolver fail quicker when
  there's an interpreter version conflict.
- Suppress "not on PATH" warning when ``--prefix`` is given.
- Include ``rustc`` version in pip's ``User-Agent``, when the system has ``rustc``.

Bug Fixes

- Update vendored six to 1.16.0 and urllib3 to 1.26.5
- Correctly allow PEP 517 projects to be detected without warnings in ``pip freeze``.
- Strip leading slash from a ``file://`` URL built from an path with the Windows
  drive notation. This fixes bugs where the ``file://`` URL cannot be correctly
  used as requirement, constraint, or index URLs on Windows.
- New resolver: URL comparison logic now treats ``file://localhost/`` and
  ``file:///`` as equivalent to conform to RFC 8089.
- Prefer credentials from the URL over the previously-obtained credentials from URLs of the same domain, so it is possible to use different credentials on the same index server for different ``--extra-index-url`` options.
- Fix extraction of files with utf-8 encoded paths from tars.
- Skip distutils configuration parsing on encoding errors.
- New resolver: Detect an unnamed requirement is user-specified (by building its
  metadata for the project name) so it can be correctly ordered in the resolver.
- Fix :ref:`pip freeze` to output packages :ref:`installed from git <vcs support>`
  in the correct ``git+protocol://`` format
  rather than the old and no longer supported ``git+git@`` format.
- Fix warnings about install scheme selection for Python framework builds
  distributed by Apple's Command Line Tools.
- Relax interpreter detection to quelch a location mismatch warning where PyPy
  is deliberately breaking backwards compatibility.

Vendored Libraries

- Upgrade certifi to 2021.05.30.
- Upgrade idna to 3.2.
- Upgrade packaging to 21.0
- Upgrade requests to 2.26.0.
- Upgrade resolvelib to 0.7.1.
- Upgrade urllib3 to 1.26.6.

21.1.3 (2021-06-26)

Bug Fixes

- Remove unused optional ``tornado`` import in vendored ``tenacity`` to prevent old versions of Tornado from breaking pip.
- Require ``setup.cfg``-only projects to be built via PEP 517, by requiring an explicit dependency on setuptools declared in pyproject.toml.

21.1.2 (2021-05-23)

Bug Fixes

- New resolver: Correctly exclude an already installed package if its version is
  known to be incompatible to stop the dependency resolution process with a clear
  error message.
- Allow ZIP to archive files with timestamps earlier than 1980.
- Emit clearer error message when a project root does not contain either
  ``pyproject.toml``, ```` or ``setup.cfg``.
- Fix detection of existing standalone pip instance for PEP 517 builds.

21.1.1 (2021-04-30)

Deprecations and Removals

- Temporarily set the new "Value for ... does not match" location warnings level
  to *DEBUG*, to hide them from casual users. This prepares pip 21.1 for CPython
  inclusion, while pip maintainers digest the first intake of location mismatch
  issues for the ``distutils``-``sysconfig`` transition.

Bug Fixes

- This change fixes a bug on Python <=3.6.1 with a Typing feature added in 3.6.2
- Fix compatibility between distutils and sysconfig when the project name is unknown outside of a virtual environment.
- Fix Python 3.6 compatibility when a PEP 517 build requirement itself needs to be
  built in an isolated environment.

21.1 (2021-04-24)


- Start installation scheme migration from ``distutils`` to ``sysconfig``. A
  warning is implemented to detect differences between the two implementations to
  encourage user reports, so we can avoid breakages before they happen.


- Add the ability for the new resolver to process URL constraints.
- Add a feature ``--use-feature=in-tree-build`` to build local projects in-place
  when installing. This is expected to become the default behavior in pip 21.3;
  see `Installing from local packages <>`_
  for more information.
- Bring back the "(from versions: ...)" message, that was shown on resolution failures.
- Add support for editable installs for project with only setup.cfg files.
- Improve performance when picking the best file from indexes during ``pip install``.
- Warn instead of erroring out when doing a PEP 517 build in presence of
  ``--build-option``. Warn when doing a PEP 517 build in presence of

Bug Fixes

- Fixed ``--target`` to work with ``--editable`` installs.
- Add a warning, discouraging the usage of pip as root, outside a virtual environment.
- Ignore ``.dist-info`` directories if the stem is not a valid Python distribution
  name, so they don't show up in e.g. ``pip freeze``.
- Only query the keyring for URLs that actually trigger error 401.
  This prevents an unnecessary keyring unlock prompt on every pip install
  invocation (even with default index URL which is not password protected).
- Prevent packages already-installed alongside with pip to be injected into an
  isolated build environment during build-time dependency population.
- Fix ``pip freeze`` permission denied error in order to display an understandable error message and offer solutions.
- Correctly uninstall script files (from setuptools' ``scripts`` argument), when installed with ``--user``.
- New resolver: When a requirement is requested both via a direct URL
  (``req @ URL``) and via version specifier with extras (``req[extra]``), the
  resolver will now be able to use the URL to correctly resolve the requirement
  with extras.
- New resolver: Show relevant entries from user-supplied constraint files in the
  error message to improve debuggability.
- Avoid parsing version to make the version check more robust against lousily
  debundled downstream distributions.
- ``--user`` is no longer suggested incorrectly when pip fails with a permission
  error in a virtual environment.
- Fix incorrect reporting on ``Requires-Python`` conflicts.
- Make wheel compatibility tag preferences more important than the build tag
- Fix pip to work with warnings converted to errors.
- **SECURITY**: Stop splitting on unicode separators in git references,
  which could be maliciously used to install a different revision on the

Vendored Libraries

- Update urllib3 to 1.26.4 to fix CVE-2021-28363
- Remove contextlib2.
- Upgrade idna to 3.1
- Upgrade pep517 to 0.10.0
- Upgrade vendored resolvelib to 0.7.0.
- Upgrade tenacity to 7.0.0

Improved Documentation

- Update "setuptools extras" link to match upstream.
- Improve SSL Certificate Verification docs and ``--cert`` help text.
- Add a section in the documentation to suggest solutions to the ``pip freeze`` permission denied issue.
- Add warning about ``--extra-index-url`` and dependency confusion
- Describe ``--upgrade-strategy`` and direct requirements explicitly; add a brief

21.0.1 (2021-01-30)

Bug Fixes

- commands: debug: Use packaging.version.parse to compare between versions.
- New resolver: Download and prepare a distribution only at the last possible
  moment to avoid unnecessary network access when the same version is already
  installed locally.

Vendored Libraries

- Upgrade packaging to 20.9

21.0 (2021-01-23)

Deprecations and Removals

- Drop support for Python 2.
- Remove support for legacy wheel cache entries that were created with pip
  versions older than 20.0.
- Remove support for VCS pseudo URLs editable requirements. It was emitting
  deprecation warning since version 20.0.
- Modernise the codebase after Python 2.
- Drop support for Python 3.5.
- Remove the VCS export feature that was used only with editable VCS
  requirements and had correctness issues.


- Add ``--ignore-requires-python`` support to pip download.
- New resolver: Error message shown when a wheel contains inconsistent metadata
  is made more helpful by including both values from the file name and internal

Bug Fixes

- Fix a regression that made ``pip wheel`` do a VCS export instead of a VCS clone
  for editable requirements. This broke VCS requirements that need the VCS
  information to build correctly.
- Fix ``pip download`` of editable VCS requirements that need VCS information
  to build correctly.

Vendored Libraries

- Upgrade msgpack to 1.0.2.
- Upgrade requests to 2.25.1.

Improved Documentation

- Render the unreleased pip version change notes on the news page in docs.
- Fix broken email link in docs feedback banners.

20.3.4 (2021-01-23)


- ``pip wheel`` now verifies the built wheel contains valid metadata, and can be
  installed by a subsequent ``pip install``. This can be disabled with
- Improve presentation of XMLRPC errors in pip search.

Bug Fixes

- Fixed hanging VCS subprocess calls when the VCS outputs a large amount of data
  on stderr. Restored logging of VCS errors that was inadvertently removed in pip
- Fix error when an existing incompatibility is unable to be applied to a backtracked state.
- New resolver: Discard a faulty distribution, instead of quitting outright.
  This implementation is taken from 20.2.2, with a fix that always makes the
  resolver iterate through candidates from indexes lazily, to avoid downloading
  candidates we do not need.
- New resolver: Discard a source distribution if it fails to generate metadata,
  instead of quitting outright. This implementation is taken from 20.2.2, with a
  fix that always makes the resolver iterate through candidates from indexes
  lazily, to avoid downloading candidates we do not need.

Vendored Libraries

- Upgrade resolvelib to 0.5.4.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Dec 18 09:03:43 2020 UTC (2 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)

py-pip: updated to 20.3.3

20.3.3 (2020-12-15)

Bug Fixes
- Revert "Skip candidate not providing valid metadata", as that caused pip to be overeager about downloading from the package index.

20.3.2 (2020-12-15)

- New resolver: Resolve direct and pinned (``==`` or ``===``) requirements first
  to improve resolver performance.
- Add a mechanism to delay resolving certain packages, and use it for setuptools.

Bug Fixes
- New resolver: The "Requirement already satisfied" log is not printed only once
  for each package during resolution.
- Fix crash when logic for redacting authentication information from URLs
  in ``--help`` is given a list of strings, instead of a single string.
- New resolver: Correctly implement PEP 592. Do not return yanked versions from
  an index, unless the version range can only be satisfied by yanked candidates.
- New resolver: Make constraints also apply to package variants with extras, so
  the resolver correctly avoids backtracking on them.
- New resolver: Discard a candidate if it fails to provide metadata from source,
  or if the provided metadata is inconsistent, instead of quitting outright.

Vendored Libraries
- Update vendoring to 20.8

Improved Documentation
- Update documentation to reflect that pip still uses legacy resolver by default in Python 2 environments.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Dec 4 14:17:02 2020 UTC (3 years ago) by adam
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

py-pip: updated to 20.3.1

20.3.1 (2020-12-03)

Deprecations and Removals
- The --build-dir option has been restored as a no-op, to soften the transition
  for tools that still used it.

20.3 (2020-11-30)

Deprecations and Removals
- Remove --unstable-feature flag as it has been deprecated.

- Add support for :pep:`600`: Future 'manylinux' Platform Tags for Portable Linux Built Distributions.
- The new resolver now resolves packages in a deterministic order.
- Add support for MacOS Big Sur compatibility tags.

Bug Fixes
- New Resolver: Rework backtracking and state management, to avoid getting stuck in an infinite loop.
- New resolver: Check version equality with ``packaging.version`` to avoid edge
  cases if a wheel used different version normalization logic in its filename
  and metadata.
- New resolver: Show each requirement in the conflict error message only once to reduce cluttering.
- Fix a regression that made ``pip wheel`` generate zip files of editable
  requirements in the wheel directory.
- Fix ResourceWarning in VCS subprocesses
- Redact auth from URL in help message.
- New Resolver: editable installations are done, regardless of whether
  the already-installed distribution is editable.

Vendored Libraries
- Upgrade certifi to 2020.11.8
- Upgrade colorama to 0.4.4
- Upgrade packaging to 20.7
- Upgrade pep517 to 0.9.1
- Upgrade requests to 2.25.0
- Upgrade resolvelib to 0.5.3
- Upgrade toml to 0.10.2
- Upgrade urllib3 to 1.26.2

Improved Documentation
- Add a section to the User Guide to cover backtracking during dependency resolution.
- Reorder and revise installation instructions to make them easier to follow.

Revision 1.43 / (download) - annotate - [select for diffs], Wed Nov 4 10:23:45 2020 UTC (3 years, 1 month ago) by adam
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

py-pip: updated to 20.2.4

20.2.4 (2020-10-16)

Deprecations and Removals
- Document that certain removals can be fast tracked.
- Document that Python versions are generally supported until PyPI usage falls below 5%.

- New resolver: Avoid accessing indexes when the installed candidate is preferred
  and considered good enough.
- Improve error message friendliness when an environment has packages with
  corrupted metadata.
- Cache package listings on index packages so they are guarenteed to stay stable
  during a pip command session. This also improves performance when a index page
  is accessed multiple times during the command session.
- New resolver: Tweak resolution logic to improve user experience when
  user-supplied requirements conflict.

Bug Fixes
- New resolver: Correctly respect ``Requires-Python`` metadata to reject
  incompatible packages in ``--no-deps`` mode.
- New resolver: Pick up hash declarations in constraints files and use them to
  filter available distributions.
- New resolver: If a package appears multiple times in user specification with
  different ``--hash`` options, only hashes that present in all specifications
  should be allowed.

Improved Documentation
- Add ux documentation

Revision 1.42 / (download) - annotate - [select for diffs], Wed Sep 9 07:26:48 2020 UTC (3 years, 2 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

py-pip: updated to 20.2.3


Deprecations and Removals
- Deprecate support for Python 3.5

- Make the `` install`` deprecation warning less noisy. We warn only
  when `` install`` succeeded and `` bdist_wheel`` failed, as
  situations where both fails are most probably irrelevant to this deprecation.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Aug 26 11:50:45 2020 UTC (3 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

py-pip: updated to 20.2.2


Bug Fixes
- Only attempt to use the keyring once and if it fails, don't try again.
  This prevents spamming users with several keyring unlock prompts when they
  cannot unlock or don't want to do so.
- Fix regression that distributions in system site-packages are not correctly
  found when a virtual environment is configured with ``system-site-packages``
- Disable caching for range requests, which causes corrupted wheels
  when pip tries to obtain metadata using the feature ``fast-deps``.
- Always use UTF-8 to read ``pyvenv.cfg`` to match the built-in ``venv``.
- 2020 Resolver: Correctly handle marker evaluation in constraints and exclude
  them if their markers do not match the current environment.

Revision 1.40 / (download) - annotate - [select for diffs], Tue Aug 4 17:53:31 2020 UTC (3 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

py-pip: updated to 20.2.1


- Ignore require-virtualenv in ``pip list``

Bug Fixes
- Correctly find already-installed distributions with dot (``.``) in the name
  and uninstall them when needed.
- Trace a better error message on installation failure due to invalid ``.data``
  files in wheels.
- Fix SVN version detection for alternative SVN distributions.
- New resolver: Correctly include the base package when specified with extras
  in ``--no-deps`` mode.
- Use UTF-8 to handle ZIP archive entries on Python 2 according to PEP 427, so
  non-ASCII paths can be resolved as expected.

Improved Documentation
- Add details on old resolver deprecation and removal to migration documentation.
- Fix feature flag name in docs.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Jul 29 10:00:16 2020 UTC (3 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.38: +3 -4 lines
Diff to previous 1.38 (colored)

py-pip: updated to 20.2


Deprecations and Removals
- Deprecate builds that do not generate an ``.egg-info`` directory.
- Disallow passing install-location-related arguments in ``--install-options``.
- Add deprecation warning for invalid requirements format "base>=1.0[extra]"
- Deprecate legacy install when building a wheel failed for source
  distributions without pyproject.toml
- Deprecate -b/--build/--build-dir/--build-directory. Its current behaviour is confusing
  and breaks in case different versions of the same distribution need to be built during
  the resolution process. Using the TMPDIR/TEMP/TMP environment variable, possibly
  combined with --no-clean covers known use cases.
- Remove undocumented and deprecated option ``--always-unzip``

- Log debugging information about pip, in ``pip install --verbose``.
- Refine error messages to avoid showing Python tracebacks when an HTTP error occurs.
- Install wheel files directly instead of extracting them to a temp directory.
- Add a beta version of pip's next-generation dependency resolver.

  Move pip's new resolver into beta, remove the
  ``--unstable-feature=resolver`` flag, and enable the
  ``--use-feature=2020-resolver`` flag. The new resolver is
  significantly stricter and more consistent when it receives
  incompatible instructions, and reduces support for certain kinds of
  :ref:`Constraints Files`, so some workarounds and workflows may
  break. More details about how to test and migrate, and how to report
  issues, at :ref:`Resolver changes 2020` . Maintainers are preparing to
  release pip 20.3, with the new resolver on by default, in October.
- Add a subcommand ``debug`` to ``pip config`` to list available configuration sources and the key-value pairs defined in them.
- Warn if index pages have unexpected content-type
- Allow specifying ``--prefer-binary`` option in a requirements file
- Generate PEP 376 REQUESTED metadata for user supplied requirements installed
  by pip.
- Warn if package url is a vcs or an archive url with invalid scheme
- Parallelize network operations in ``pip list``.
- Allow the new resolver to obtain dependency information through wheels
  lazily downloaded using HTTP range requests.  To enable this feature,
  invoke ``pip`` with ``--use-feature=fast-deps``.
- Support ``--use-feature`` in requirements files

Bug Fixes
- Use canonical package names while looking up already installed packages.
- Fix normalizing path on Windows when installing package on another logical disk.
- The VCS commands run by pip as subprocesses don't merge stdout and stderr anymore, improving the output parsing by subsequent commands.
- Correctly treat non-ASCII entry point declarations in wheels so they can be
  installed on Windows.
- Update author email in config and tests to reflect decommissioning of pypa-dev list.
- Headers provided by wheels in .data directories are now correctly installed
  into the user-provided locations, such as ``--prefix``, instead of the virtual
  environment pip is running in.

Vendored Libraries
- Vendored htmlib5 no longer imports deprecated xml.etree.cElementTree on Python 3.
- Upgrade appdirs to 1.4.4
- Upgrade certifi to 2020.6.20
- Upgrade distlib to 0.3.1
- Upgrade html5lib to 1.1
- Upgrade idna to 2.10
- Upgrade packaging to 20.4
- Upgrade requests to 2.24.0
- Upgrade six to 1.15.0
- Upgrade toml to 0.10.1
- Upgrade urllib3 to 1.25.9

Improved Documentation
- Add ``--no-input`` option to pip docs
- List of options supported in requirements file are extracted from source of truth,
  instead of being maintained manually.
- Fix pip config docstring so that the subcommands render correctly in the docs
- replace links to the old pypa-dev mailing list with
- Fix example for defining multiple values for options which support them
- Add documentation that helps the user fix dependency conflicts
- Add feature flags to docs
- Document how to install package extras from git branch and source distributions.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Jun 8 20:17:56 2020 UTC (3 years, 5 months ago) by leot
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.37: +5 -1 lines
Diff to previous 1.37 (colored)

py-pip: Add pip[23] as alternatives

pip2 and pip3 are widely used aliases which make sure the specific
major version is used.

Patch from Bartosz Kosiorek via <>.

Closes NetBSD/pkgsrc#64


Revision 1.37 / (download) - annotate - [select for diffs], Mon Jun 1 16:27:17 2020 UTC (3 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

py-pip: updated to 20.1.1


Deprecations and Removals
- Revert building of local directories in place, restoring the pre-20.1
  behaviour of copying to a temporary directory.
- Drop parallelization from ``pip list --outdated``.

Bug Fixes
- Fix metadata permission issues when umask has the executable bit set.
- Avoid unnecessary message about the wheel package not being installed
  when a wheel would not have been built. Additionally, clarify the message.


- Document that pip 21.0 will drop support for Python 2.7.

- Add ``pip cache dir`` to show the cache directory.

Bug Fixes
- Abort pip cache commands early when cache is disabled.
- Correctly set permissions on metadata files during wheel installation,
  to permit non-privileged users to read from system site-packages.


Deprecations and Removals
- Remove emails from AUTHORS.txt to prevent usage for spamming, and only populate names in AUTHORS.txt at time of release
- Remove deprecated ``--skip-requirements-regex`` option.
- Building of local directories is now done in place, instead of a temporary
  location containing a copy of the directory tree.
- Remove unused ``tests/scripts/`` test script and the ``tests/scripts`` folder.

- pip now implements PEP 610, so ``pip freeze`` has better fidelity
  in presence of distributions installed from Direct URL requirements.
- Add ``pip cache`` command for inspecting/managing pip's wheel cache.
- Raise error if ``--user`` and ``--target`` are used together in ``pip install``
- Significantly improve performance when ``--find-links`` points to a very large HTML page.
- Indicate when wheel building is skipped, due to lack of the ``wheel`` package.
- Change default behaviour to always cache responses from trusted-host source.
- An alpha version of a new resolver is available via ``--unstable-feature=resolver``.

Bug Fixes
- Correctly freeze a VCS editable package when it is nested inside another VCS repository.
- Correctly handle ``%2F`` in URL parameters to avoid accidentally unescape them
  into ``/``.
- Reject VCS URLs with an empty revision.
- Warn when an invalid URL is passed with ``--index-url``
- Use better mechanism for handling temporary files, when recording metadata
  about installed files (RECORD) and the installer (INSTALLER).
- Correctly detect global site-packages availability of virtual environments
  created by PyPA virtualenv>=20.0.
- Remove current directory from ``sys.path`` when invoked as ``python -m pip <command>``
- Stop failing uninstallation, when trying to remove non-existent files.
- Prevent an infinite recursion with ``pip wheel`` when ``$TMPDIR`` is within the source directory.
- Significantly speedup ``pip list --outdated`` by parallelizing index interaction.
- Improve Windows compatibility when detecting writability in folder.

Vendored Libraries
- Update semi-supported debundling script to reflect that appdirs is vendored.
- Add ResolveLib as a vendored dependency.
- Upgrade certifi to 2020.04.05.1
- Upgrade contextlib2 to 0.6.0.post1
- Upgrade distro to 1.5.0.
- Upgrade idna to 2.9.
- Upgrade msgpack to 1.0.0.
- Upgrade packaging to 20.3.
- Upgrade pep517 to 0.8.2.
- Upgrade pyparsing to 2.4.7.
- Remove pytoml as a vendored dependency.
- Upgrade requests to 2.23.0.
- Add toml as a vendored dependency.
- Upgrade urllib3 to 1.25.8.

Improved Documentation
- Emphasize that VCS URLs using git, git+git and git+http are insecure due to
  lack of authentication and encryption
- Clarify the usage of --no-binary command.
- Clarify the usage of freeze command in the example of Using pip in your program
- Add a "Copyright" page.
- Added example of defining multiple values for options which support them


Bug Fixes
- Fix a regression in generation of compatibility tags.

Vendored Libraries
- Upgrade packaging to 20.1


Bug Fixes
- Rename an internal module, to avoid ImportErrors due to improper uninstallation.


- Switch to a dedicated CLI tool for vendoring dependencies.

Deprecations and Removals
- Remove wheel tag calculation from pip and use ``packaging.tags``. This
  should provide more tags ordered better than in prior releases.
- Deprecate builds that do not generate an ``.egg-info`` directory.
- The pip>=20 wheel cache is not retro-compatible with previous versions. Until
  pip 21.0, pip will continue to take advantage of existing legacy cache
- Deprecate undocumented ``--skip-requirements-regex`` option.
- Deprecate passing install-location-related options via ``--install-option``.
- Use literal "abi3" for wheel tag on CPython 3.x, to align with PEP 384
  which only defines it for this platform.
- Remove interpreter-specific major version tag e.g. ``cp3-none-any``
  from consideration. This behavior was not documented strictly, and this
  tag in particular is `not useful <>`_.
  Anyone with a use case can create an issue with pypa/packaging.
- Wheel processing no longer permits wheels containing more than one top-level
  .dist-info directory.
- Support for the ``git+git@`` form of VCS requirement is being deprecated and
  will be removed in pip 21.0. Switch to ``git+https://`` or
  ``git+ssh://``. ``git+git://`` also works but its use is discouraged as it is

- Default to doing a user install (as if ``--user`` was passed) when the main
  site-packages directory is not writeable and user site-packages are enabled.
- Warn if a path in PATH starts with tilde during ``pip install``.
- Cache wheels built from Git requirements that are considered immutable,
  because they point to a commit hash.
- Add option ``--no-python-version-warning`` to silence warnings
  related to deprecation of Python versions.
- Cache wheels that ``pip wheel`` built locally, matching what
  ``pip install`` does. This particularly helps performance in workflows where
  ``pip wheel`` is used for `building before installing
  Users desiring the original behavior can use ``pip wheel --no-cache-dir``.
- Display CA information in ``pip debug``.
- Show only the filename (instead of full URL), when downloading from PyPI.
- Suggest a more robust command to upgrade pip itself to avoid confusion when the
  current pip command is not available as ``pip``.
- Define all old pip console script entrypoints to prevent import issues in
  stale wrapper scripts.
- The build step of ``pip wheel`` now builds all wheels to a cache first,
  then copies them to the wheel directory all at once.
  Before, it built them to a temporary directory and moved
  them to the wheel directory one by one.
- Expand ``~`` prefix to user directory in path options, configs, and
  environment variables. Values that may be either URL or path are not
  currently supported, to avoid ambiguity:

  * ``--find-links``
  * ``--constraint``, ``-c``
  * ``--requirement``, ``-r``
  * ``--editable``, ``-e``

Bug Fixes
- Correctly handle system site-packages, in virtual environments created with venv (PEP 405).
- Fix case sensitive comparison of pip freeze when used with -r option.
- Enforce PEP 508 requirement format in ``pyproject.toml``
- Make ``ensure_dir()`` also ignore ``ENOTEMPTY`` as seen on Windows.
- Fix building packages which specify ``backend-path`` in pyproject.toml.
- Do not attempt to run `` clean`` after a ``pep517`` build error,
  since a ```` may not exist in that case.
- Fix passwords being visible in the index-url in
  "Downloading <url>" message.
- Change method from shutil.remove to shutil.rmtree in
- Skip running tests which require subversion, when svn isn't installed
- Fix not sending client certificates when using ``--trusted-host``.
- Make sure ``pip wheel`` never outputs pure python wheels with a
  python implementation tag.
- Include ``subdirectory`` URL fragments in cache keys.
- Fix typo in warning message when any of ``--build-option``, ``--global-option``
  and ``--install-option`` is used in requirements.txt
- Fix the logging of cached HTTP response shown as downloading.
- Effectively disable the wheel cache when it is not writable, as is the
  case with the http cache.
- Correctly handle relative cache directory provided via --cache-dir.

Vendored Libraries
- Upgrade CacheControl to 0.12.5
- Upgrade certifi to 2019.9.11
- Upgrade colorama to 0.4.1
- Upgrade distlib to 0.2.9.post0
- Upgrade ipaddress to 1.0.22
- Update packaging to 20.0.
- Upgrade pkg_resources (via setuptools) to 44.0.0
- Upgrade pyparsing to 2.4.2
- Upgrade six to 1.12.0
- Upgrade urllib3 to 1.25.6

Improved Documentation
- Document that "coding: utf-8" is supported in requirements.txt
- Explain how to get pip's source code in `Getting Started <>`_
- Describe how basic authentication credentials in URLs work.
- Add more clear installation instructions
- Fix documentation links for index options
- Better document the requirements file format

Revision 1.36 / (download) - annotate - [select for diffs], Sat Oct 19 06:38:56 2019 UTC (4 years, 1 month ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.35: +2 -2 lines
Diff to previous 1.35 (colored)

py-pip: updated to 19.3.1


- Document Python 3.8 support.

Bug Fixes
- Fix bug that prevented installation of PEP 517 packages without ````.

Revision 1.35 / (download) - annotate - [select for diffs], Tue Oct 15 17:16:54 2019 UTC (4 years, 1 month ago) by adam
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)

py-pip: updated to 19.3

Deprecations and Removals
- Remove undocumented support for un-prefixed URL requirements pointing
  to SVN repositories. Users relying on this can get the original behavior
  by prefixing their URL with svn+ (which is backwards-compatible).
- Remove the deprecated --venv option from pip config.

- Print a better error message when --no-binary or --only-binary is given
  an argument starting with -.
- Make pip show warn about packages not found.
- Support including a port number in --trusted-host for both HTTP and HTTPS.
- Redact single-part login credentials from URLs in log messages.
- Implement manylinux2014 platform tag support.  manylinux2014 is the successor
  to manylinux2010.  It allows carefully compiled binary wheels to be installed
  on compatible Linux platforms.  The manylinux2014 platform tag definition can
  be found in PEP599 <>_.

Bug Fixes
- Abort installation if any archive contains a file which would be placed
  outside the extraction location.
- pip's CLI completion code no longer prints a Traceback if it is interrupted.
- Correct inconsistency related to the hg+file scheme.
- Fix rmtree_errorhandler to skip non-existing directories.
- Ignore errors copying socket files for local source installs (in Python 3).
- Fix requirement line parser to correctly handle PEP 440 requirements with a URL
  pointing to an archive file.
- The pip-wheel-metadata directory does not need to persist between invocations of pip, use a temporary directory instead of the current directory.
- Fix --trusted-host processing under HTTPS to trust any port number used
  with the host.
- Switch to new distlib wheel script template. This should be functionally
  equivalent for end users.
- Skip copying .tox and .nox directories to temporary build directories
- Fix handling of tokens (single part credentials) in URLs.
- Fix a regression that caused ~ expansion not to occur in --find-links
- Fix bypassed pip upgrade warning on Windows.
- Fix 'm' flag erroneously being appended to ABI tag in Python 3.8 on platforms that do not provide SOABI
- Hide security-sensitive strings like passwords in log messages related to
  version control system (aka VCS) command invocations.
- Correctly uninstall symlinks that were installed in a virtualenv,
  by tools such as flit install --symlink.
- Don't fail installation using pip.exe on Windows when pip wouldn't be upgraded.
- Use canonical distribution names when computing Required-By in pip show.
- Don't use hardlinks for locking selfcheck state file.
- Ignore "require_virtualenv" in pip config
- Fix pip freeze not showing correct entry for mercurial packages that use subdirectories.
- Fix a crash when sys.stdin is set to None, such as on AWS Lambda.

Vendored Libraries
- Upgrade certifi to 2019.9.11
- Add contextlib2 0.6.0 as a vendored dependency.
- Remove Lockfile as a vendored dependency.
- Upgrade msgpack to 0.6.2
- Upgrade packaging to 19.2
- Upgrade pep517 to 0.7.0
- Upgrade pyparsing to 2.4.2
- Upgrade pytoml to 0.1.21
- Upgrade setuptools to 41.4.0
- Upgrade urllib3 to 1.25.6

Improved Documentation
- Document caveats for UNC paths in uninstall and add .pth unit tests.
- Add architectural overview documentation.
- Document that --ignore-installed is dangerous.

Revision 1.34 / (download) - annotate - [select for diffs], Mon Aug 26 07:35:07 2019 UTC (4 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)

py-pip: updated to 19.2.3

Bug Fixes
- Fix 'm' flag erroneously being appended to ABI tag in Python 3.8 on platforms that do not provide SOABI

Revision 1.33 / (download) - annotate - [select for diffs], Mon Aug 12 07:06:36 2019 UTC (4 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

py-pip: updated to 19.2.2


Bug Fixes
- Fix handling of tokens (single part credentials) in URLs.
- Fix a regression that caused ~ expansion not to occur in --find-links

Revision 1.32 / (download) - annotate - [select for diffs], Sat Aug 3 11:23:09 2019 UTC (4 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

py-pip: updated to 19.2.1


Bug Fixes
- Fix a NoneType AttributeError when evaluating hashes and no hashes
  are provided.


Deprecations and Removals
- Drop support for EOL Python 3.4.
- Improve deprecation messages to include the version in which the functionality will be removed.

- Credentials will now be loaded using keyring when installed.
- Fully support using --trusted-host inside requirements files.
- Update timestamps in pip's --log file to include milliseconds.
- Respect whether a file has been marked as "yanked" from a simple repository
  (see PEP 592 <>__ for details).
- When choosing candidates to install, prefer candidates with a hash matching
  one of the user-provided hashes.
- Improve the error message when METADATA or PKG-INFO is None when
  accessing metadata.
- Add a new command pip debug that can display e.g. the list of compatible
  tags for the current Python.
- Display hint on installing with --pre when search results include pre-release versions.
- Report to Warehouse that pip is running under CI if the PIP_IS_CI environment variable is set.
- Allow --python-version to be passed as a dotted version string (e.g.
  3.7 or 3.7.3).
- Log the final filename and SHA256 of a .whl file when done building a
- Include the wheel's tags in the log message explanation when a candidate
  wheel link is found incompatible.
- Add a --path argument to pip freeze to support --target
- Add a --path argument to pip list to support --target

Bug Fixes
- Set sys.argv[0] to the underlying when invoking
  via the setuptools shim so setuptools doesn't think the path is -c.
- Update pip download to respect the given --python-version when checking
- Respect --global-option and --install-option when installing from
  a version control url (e.g. git).
- Make the "ascii" progress bar really be "ascii" and not Unicode.
- Fail elegantly when trying to set an incorrectly formatted key in config.
- Prevent DistutilsOptionError when prefix is indicated in the global environment and --target is used.
- Fix pip install to respect --ignore-requires-python when evaluating
- Fix a debug log message when freezing an editable, non-version controlled
- Extend to Subversion 1.8+ the behavior of calling Subversion in
  interactive mode when pip is run interactively.
- Prevent pip install <url> from permitting directory traversal if e.g.
  a malicious server sends a Content-Disposition header with a filename
  containing ../ or ..\\.
- Hide passwords in output when using --find-links.
- Include more details in the log message if pip freeze can't generate a
  requirement string for a particular distribution.
- Add the line number and file location to the error message when reading an
  invalid requirements file in certain situations.
- Prefer os.confstr to ctypes when extracting glibc version info.
- Improve error message printed when an invalid editable requirement is provided.
- Improve error message formatting when a command errors out in a subprocess.

Vendored Libraries
- Upgrade certifi to 2019.6.16
- Upgrade distlib to 0.2.9.post0
- Upgrade msgpack to 0.6.1
- Upgrade requests to 2.22.0
- Upgrade urllib3 to 1.25.3
- Patch vendored html5lib, to prefer using where possible.

Improved Documentation
- Document how Python 2.7 support will be maintained.
- Upgrade Sphinx version used to build documentation.
- Fix generation of subcommand manpages.
- Mention that pip can install from git refs.
- Replace a failing example of pip installs with extras with a working one.

Revision 1.31 / (download) - annotate - [select for diffs], Tue May 7 05:17:20 2019 UTC (4 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

py-pip: updated to 19.1.1


- Restore pyproject.toml handling to how it was with pip 19.0.3 to prevent
  the need to add --no-use-pep517 when installing in editable mode.

Bug Fixes
- Fix a regression that caused @ to be quoted in pypiserver links.
  This interfered with parsing the revision string from VCS urls.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Apr 24 08:28:33 2019 UTC (4 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.29: +2 -3 lines
Diff to previous 1.29 (colored)

py-pip: updated to 19.1


- Configuration files may now also be stored under sys.prefix
- Avoid creating an unnecessary local clone of a Bazaar branch when exporting.
- Include in pip's User-Agent string whether it looks like pip is running
  under CI.
- A custom (JSON-encoded) string can now be added to pip's User-Agent
  using the PIP_USER_AGENT_USER_DATA environment variable.
- For consistency, passing --no-cache-dir no longer affects whether wheels
  will be built.  In this case, a temporary directory is used.
- Command arguments in subprocess log messages are now quoted using
- Prefix warning and error messages in log output with WARNING and ERROR.
- Using --build-options in a PEP 517 build now fails with an error,
  rather than silently ignoring the option.
- Error out with an informative message if one tries to install a
  pyproject.toml-style (PEP 517) source tree using --editable mode.
- When downloading a package, the ETA and average speed now only update once per second for better legibility.

Bug Fixes
- The stdout and stderr from VCS commands run by pip as subprocesses (e.g.
  git, hg, etc.) no longer pollute pip's stdout.
- Fix handling of requests exceptions when dependencies are debundled.
- Make pip's self version check avoid recommending upgrades to prereleases if the currently-installed version is stable.
- Fixed crash when installing a requirement from a URL that comes from a dependency without a URL.
- Improve handling of file URIs: correctly handle file://localhost/... and don't try to use UNC paths on Unix.
- Fix utils.encoding.auto_decode() LookupError with invalid encodings.
  utils.encoding.auto_decode() was broken when decoding Big Endian BOM
  byte-strings on Little Endian or vice versa.
- Fix incorrect URL quoting of IPv6 addresses.
- Redact the password from the extra index URL when using pip -v.
- The spinner no longer displays a completion message after subprocess calls
  not needing a spinner. It also no longer incorrectly reports an error after
  certain subprocess calls to Git that succeeded.
- Fix the handling of editable mode during installs when pyproject.toml is
  present but PEP 517 doesn't require the source tree to be treated as
- Fix NameError when handling an invalid requirement.

Vendored Libraries
- Updated certifi to 2019.3.9
- Updated distro to 1.4.0
- Update progress to 1.5
- Updated pyparsing to 2.4.0
- Updated pkg_resources to 41.0.1 (via setuptools)

Improved Documentation
- Make dashes render correctly when displaying long options like
  --find-links in the text.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Feb 21 08:32:21 2019 UTC (4 years, 9 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base, pkgsrc-2019Q1
Changes since 1.28: +2 -4 lines
Diff to previous 1.28 (colored)

py-pip: updated to 19.0.3

Bug Fixes
- Fix an IndexError crash when a legacy build of a wheel fails.
- Fix a regression introduced in 19.0.2 where the filename in a RECORD file
  of an installed file would not be updated when installing a wheel.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Feb 9 17:13:59 2019 UTC (4 years, 9 months ago) by adam
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

py-pip: updated to 19.0.2


Bug Fixes
- Fix a crash where PEP 517-based builds using --no-cache-dir would fail in
  some circumstances with an AssertionError due to not finalizing a build
  directory internally.
- Provide a better error message if attempting an editable install of a
  directory with a pyproject.toml but no
- The implicit default backend used for projects that provide a pyproject.toml
  file without explicitly specifying build-backend now behaves more like direct
  execution of, and hence should restore compatibility with projects
  that were unable to be installed with pip 19.0. This raised the minimum
  required version of setuptools for such builds to 40.8.0.
- Allow RECORD lines with more than three elements, and display a warning.
- AdjacentTempDirectory fails on unwritable directory instead of locking up the uninstall command.
- Make failed uninstalls roll back more reliably and better at avoiding naming conflicts.
- Ensure the correct wheel file is copied when building PEP 517 distribution is built.
- The Python 2 end of life warning now only shows on CPython, which is the
  implementation that has announced end of life plans.

Improved Documentation
- Re-write README and documentation index

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jan 24 08:29:39 2019 UTC (4 years, 10 months ago) by adam
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

py-pip: updated to 19.0.1


Bug Fixes
- Fix a crash when using --no-cache-dir with PEP 517 distributions


Deprecations and Removals
- Deprecate support for Python 3.4
- Start printing a warning for Python 2.7 to warn of impending Python 2.7 End-of-life and
  prompt users to start migrating to Python 3.
- Remove the deprecated --process-dependency-links option.
- Remove the deprecated SVN editable detection based on dependency links
  during freeze.

- Implement PEP 517 (allow projects to specify a build backend via pyproject.toml).
- Implement manylinux2010 platform tag support.  manylinux2010 is the successor
  to manylinux1.  It allows carefully compiled binary wheels to be installed
  on compatible Linux platforms.
- Improve build isolation: handle .pth files, so namespace packages are correctly supported under Python 3.2 and earlier.
- Include the package name in a freeze warning if the package is not installed.
- Warn when dropping an --[extra-]index-url value that points to an existing local directory.
- Prefix pip's --log file lines with their timestamp.

Bug Fixes
- Avoid creating excessively long temporary paths when uninstalling packages.
- Redact the password from the URL in various log messages.
- Avoid creating excessively long temporary paths when uninstalling packages.
- Avoid printing a stack trace when given an invalid requirement.
- Present 401 warning if username/password do not work for URL
- Handle requests.exceptions.RetryError raised in PackageFinder that was causing pip to fail silently when some indexes were unreachable.
- Handle a broken stdout pipe more gracefully (e.g. when running pip list | head).
- Fix crash from setting PIP_NO_CACHE_DIR=yes.
- Fix crash from unparseable requirements when checking installed packages.
- Fix content type detection if a directory named like an archive is used as a package source.
- Fix listing of outdated packages that are not dependencies of installed packages in pip list --outdated --not-required
- Fix sorting TypeError in move_wheel_files() when installing some packages.
- Fix support for invoking pip using python src/pip ....
- Greatly reduce memory usage when installing wheels containing large files.
- Editable non-VCS installs now freeze as editable.
- Editable Git installs without a remote now freeze as editable.
- Canonicalize sdist file names so they can be matched to a canonicalized package name passed to pip install.
- Properly decode special characters in SVN URL credentials.
- Make PIP_NO_CACHE_DIR disable the cache also for truthy values like "true", "yes", "1", etc.

Vendored Libraries
- Include license text of vendored 3rd party libraries.
- Update certifi to 2018.11.29
- Update colorama to 0.4.1
- Update distlib to 0.2.8
- Update idna to 2.8
- Update packaging to 19.0
- Update pep517 to 0.5.0
- Update pkg_resources to 40.6.3 (via setuptools)
- Update pyparsing to 2.3.1
- Update pytoml to 0.1.20
- Update requests to 2.21.0
- Update six to 1.12.0
- Update urllib3 to 1.24.1

Improved Documentation
- Include the Vendoring Policy in the documentation.
- Add instructions for running pip from source to Development documentation.
- Remove references to removed #egg=<name>-<version> functionality
- Fix omission of command name in HTML usage documentation

Revision 1.26 / (download) - annotate - [select for diffs], Sun Oct 7 06:47:29 2018 UTC (5 years, 2 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

py-pip: updated to 18.1


- Allow PEP 508 URL requirements to be used as dependencies.
  As a security measure, pip will raise an exception when installing packages from
  PyPI if those packages depend on packages not also hosted on PyPI.
  In the future, PyPI will block uploading packages with such external URL dependencies directly.
- Upgrade pyparsing to 2.2.1.
- Allows dist options (--abi, --python-version, --platform, --implementation) when installing with --target
- Support passing svn+ssh URLs with a username to pip install -e.
- pip now ensures that the RECORD file is sorted when installing from a wheel file.
- Add support for Python 3.7.
- Malformed configuration files now show helpful error messages, instead of tracebacks.

Bug Fixes
- Checkout the correct branch when doing an editable Git install.
- Run self-version-check only on commands that may access the index, instead of
  trying on every run and failing to do so due to missing options.
- Allow a Git ref to be installed over an existing installation.
- Show a better error message when a configuration option has an invalid value.
- Always revalidate cached simple API pages instead of blindly caching them for up to 10
- Avoid caching self-version-check information when cache is disabled.
- Avoid traceback printing on autocomplete after flags in the CLI.
- Fix incorrect parsing of egg names if pip needs to guess the package name.

Revision 1.25 / (download) - annotate - [select for diffs], Tue Aug 7 09:56:53 2018 UTC (5 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3
Changes since 1.24: +2 -3 lines
Diff to previous 1.24 (colored)

py-pip: updated to 18.0


- Switch to a Calendar based versioning scheme.
- Formally document our deprecation process as a minimum of 6 months of deprecation
- Adopt and document NEWS fragment writing style.
- Switch to releasing a new, non bug fix version of pip every 3 months.

Deprecations and Removals
- Remove the legacy format from pip list.
- Dropped support for Python 3.3.
- Remove support for cleaning up #egg fragment postfixes.
- Remove the shim for the old location.

  For the past 2 years, it's only been redirecting users to use the newer location.

- Introduce a new --prefer-binary flag, to prefer older wheels over newer source packages.
- Improve autocompletion function on file name completion after options
  which have ``<file>``, ``<dir>`` or ``<path>`` as metavar.
- Add support for installing PEP 518 build dependencies from source.
- Improve status message when upgrade is skipped due to only-if-needed strategy.

Bug Fixes
- Update pip's self-check logic to not use a virtualenv specific file and honor cache-dir.
- Remove compiled pyo files for wheel packages.
- Speed up printing of newly installed package versions.
- Restrict install time dependency warnings to directly-dependant packages.

  Warning about the entire package set has resulted in users getting confused as
  to why pip is printing these warnings.
- Improve handling of PEP 518 build requirements: support environment markers and extras.
- Remove username/password from log message when using index with basic auth.
- Remove trailing os.sep from PATH directories to avoid false negatives.
- Fix "pip wheel pip" being blocked by the "don't use pip to modify itself" check.
- Disable pip's version check (and upgrade message) when installed by a different package manager.

  This works better with Linux distributions where pip's upgrade message may
  result in users running pip in a manner that modifies files that should be
  managed by the OS's package manager.
- Check for file existence and unlink first when clobbering existing files during a wheel install.
- Improve error message to be more specific when no files are found as listed in as listed in PKG-INFO.
- Always read ``pyproject.toml`` as UTF-8. This fixes Unicode handling on Windows and Python 2.
- Fix a crash that occurs when PATH not set, while generating script location warning.
- Disallow packages with ``pyproject.toml`` files that have an empty build-system table.

Vendored Libraries
- Update CacheControl to 0.12.5.
- Update certifi to 2018.4.16.
- Update distro to 1.3.0.
- Update idna to 2.7.
- Update ipaddress to 1.0.22.
- Update pkg_resources to 39.2.0 (via setuptools).
- Update progress to 1.4.
- Update pytoml to 0.1.16.
- Update requests to 2.19.1.
- Update urllib3 to 1.23.

Improved Documentation
- Document how to use pip with a proxy server.
- Document that the output of pip show is in RFC-compliant mail header format.

Revision 1.24 / (download) - annotate - [select for diffs], Mon May 28 07:46:58 2018 UTC (5 years, 6 months ago) by hauke
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2
Changes since 1.23: +4 -1 lines
Diff to previous 1.23 (colored)

Do not attempt to install world-writable files.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Apr 25 07:06:36 2018 UTC (5 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

py-pip: updated to 10.0.1

Switch the default repository to the new "PyPI 2.0" running at

Bug Fixes
Fix a bug that made unusable on Windows without renaming.
Fix a TypeError when loading the cache on older versions of Python 2.7.
Fix and improve error message when EnvironmentError occurs during installation.
A crash when reinstalling from VCS requirements has been fixed.
Fix PEP 518 support when pip is installed in the user site.

Vendored Libraries
Upgrade distlib to 0.2.7

Revision 1.22 / (download) - annotate - [select for diffs], Tue Apr 17 08:42:35 2018 UTC (5 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.21: +7 -11 lines
Diff to previous 1.21 (colored)

py-pip: updated to 10.0.0


Bug Fixes
- Prevent false-positive installation warnings due to incomplete name
- Fix issue where installing from Git with a short SHA would fail.
- Accept pre-release versions when checking for conflicts with pip check or pip
- ``ioctl(fd, termios.TIOCGWINSZ, ...)`` needs 8 bytes of data
- Do not warn about script location when installing to the directory containing
  sys.executable. This is the case when 'pip install'ing without activating a
- Fix PEP 518 support.
- Don't warn about script locations if ``--target`` is specified.

Revision 1.21 / (download) - annotate - [select for diffs], Sat Mar 24 07:50:20 2018 UTC (5 years, 8 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.20: +13 -2 lines
Diff to previous 1.20 (colored)

py-pip: updated to 9.0.3

Fix an error where the vendored requests was not correctly containing itself to only the internal vendored prefix.
Restore compatability with 2.6.

Revision 1.20 / (download) - annotate - [select for diffs], Sat Mar 17 06:51:58 2018 UTC (5 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.19: +3 -8 lines
Diff to previous 1.19 (colored)

py-pip: updated to 9.0.2

Released v9.0.2
* Fallback to using SecureTransport on macOS when the linked OpenSSL is too old
  to support TLSv1.2.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Feb 7 23:42:04 2017 UTC (6 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1
Changes since 1.18: +6 -1 lines
Diff to previous 1.18 (colored)

Add comment why test target won't work.

Revision 1.18 / (download) - annotate - [select for diffs], Fri Dec 23 19:12:38 2016 UTC (6 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Update py-pip to 9.0.1

* Correct the deprecation message when not specifying a --format
  so that it uses the correct setting name (format) rather than the
  incorrect one (list_format) (#4058).
* Fix pip check to check all available distributions and not just the local
  ones (#4083).
* Fix a crash on non ASCII characters from lsb_release (#4062).
* Fix an SyntaxError in an an used module of a vendored dependency (#4059).
* Fix UNC paths on Windows (#4064).

Revision 1.17 / (download) - annotate - [select for diffs], Sun Nov 6 00:32:12 2016 UTC (7 years, 1 month ago) by wen
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Update to 9.0.0

Upstream changes:
9.0.0 (2016-11-02)

    BACKWARD INCOMPATIBLE Remove the attempted autodetection of requirement names from URLs, URLs must include a name via #egg=.
    DEPRECATION pip install --egg have been deprecated and will be removed in the future. This "feature" has a long list of drawbacks where it breaks almost all of pip's other features in subtle and hard to diagnose ways.
    Add a pip check command to check installed packages dependencies (PR #3750).
    Added option to allow user to abort pip operation if file/directory exists
    Added Appveyor CI
    Uninstall existing packages when performing an editable installation of the same packages (#1548).
    Pip show is less verbose by default. --verbose prints multiline fields. (PR #3858).
    Added optional column formatting to pip list (#3651).
    Add --not-required option to pip list to list packages that are not dependencies of other packages.
    Fix the build on systems with symlinked /tmp directory for custom builds such as numpy (PR #3701).
    Fix regression in pip freeze: when there is more than one git remote, priority is given to the remote named origin (PR #3708, #3616).
    Fix crash when calling pip freeze with invalid requirement installed (PR #3704, #3681).
    Support multiple --requirement files in pip freeze (PR #3703).
    Implementation of pep-503 data-requires-python. When this field is present for a release link, pip will ignore the download when installing to a Python version that doesn't satisfy the requirement.
    Pip wheel now works on editable packages too (it was only working on editable dependencies before); this allows running pip wheel on the result of pip freeze in presence of editable requirements (PR #3695, #3291).
    Load credentials from .netrc files (PR #3715, #3569).
    Add --platform, --python-version, --implementation and --abi parameters to pip download. These allow utilities and advanced users to gather distributions for interpreters other than the one pip is being run on. (PR #3760)
    Skip scanning virtual environments even when venv/bin/python is a dangling symlink.
    Added pip completion support for fish shell.
    Fix problems on Windows on Python 2 when username or hostname contains non-ASCII characters (#3463, PR #3970, PR #4000).
    Use git fetch --tags to fetch tags in addition to everything else that is normally fetched; this is necessary in case a git requirement url points to a tag or commit that is not on a branch (PR #3791)
    Normalize package names before using in pip show (#3976)
    Raise when Requires-Python do not match the running version and add --ignore-requires-python option as escape hatch (PR #3846).
    Report the correct installed version when performing an upgrade in some corner cases (#2382)
    Add -i shorthand for --index flag in pip search
    Do not optionally load C dependencies in requests (#1840, #2930, #3024)
    Strip authentication from SVN url prior to passing it into svn (PR #3697, #3209).
    Also install in platlib with --target option (PR #3694, #3682).
    Restore the ability to use inline comments in requirements files passed to pip freeze (#3680).
    Deprecate --default-vcs option (#4052).

Revision 1.16 / (download) - annotate - [select for diffs], Sun Aug 28 15:48:30 2016 UTC (7 years, 3 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q3-base, pkgsrc-2016Q3
Changes since 1.15: +1 -4 lines
Diff to previous 1.15 (colored)

Remove unnecessary PLIST_SUBST and FILES_SUBST that are now provided
by the infrastructure.

Mark a couple more packages as not ready for python-3.x.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Aug 27 11:41:23 2016 UTC (7 years, 3 months ago) by richard
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

update to py-pip-8.1.2

CHANGES since previous pkgsrc version:
* Don't attempt to wrap search results for extremely narrow terminal windows

**8.1.1 (2016-03-17)**

* Fix regression with non-ascii requirement files on Python 2 and add support
  for encoding headers in requirement files (:issue:`3548`, :pull:`3547`).

**8.1.0 (2016-03-05)**

* Implement PEP 513, which adds support for the manylinux1 platform tag,
  allowing carefully compiled binary wheels to be installed on compatible Linux

* Allow wheels which are not specific to a particular Python interpreter but
  which are specific to a particular platform (:issue:`3202`).

* Fixed an issue where ``call_subprocess`` would crash trying to print debug
  data on child process failure (:issue:`3521`, :pull:`3522`).

* Exclude the wheel package from the `pip freeze` output (like pip and setuptools).

* Allow installing modules from a subdirectory of a vcs repository
  in non-editable mode (:issue:`3217`, :pull:`3466`).

* Make pip wheel and pip download work with vcs urls with subdirectory option

* Show classifiers in ``pip show``.

* Show PEP376 Installer in ``pip show`` (:issue:`3517`).

* Unhide completion command (:pull:`1810`).

* Show latest version number in ``pip search`` results (:pull:`1415`).

* Decode requirement files according to their BOM if present (:pull:`3485`,

* Fix and deprecate package name detection from url path (:issue:`3523` and

* Correct the behavior where interpreter specific tags (such as cp34) were
  being used on later versions of the same interprter instead of only for that
  specific interpreter (:issue:`3472`).

* Fix an issue where pip would erroneously install a 64 bit wheel on a 32 bit
  Python running on a 64 bit OS X machine.

* Do not assume that all git repositories have an origin remote.

* Correctly display the line to add to a requirements.txt for an URL based
  dependency when ``--require-hashes`` is enabled.

**8.0.3 (2016-02-25)**

* Make ``install --quiet`` really quiet. See :issue:`3418`.

* Fix a bug when removing packages in python 3: disable INI-style parsing of the
  entry_point.txt file to allow entry point names with colons (:pull:`3434`)

* Normalize generated script files path in RECORD files. (:pull:`3448`)

* Fix bug introduced in 8.0.0 where subcommand output was not shown,
  even when the user specified ``-v`` / ``--verbose``. :issue:`3486`.

* Enable python -W with respect to PipDeprecationWarning. (:pull:`3455`)

* Upgrade distlib to 0.2.2 (fix :issue:`3467`):

  * Improved support for Jython when quoting executables in output scripts.

* Add a `--all` option to `pip freeze` to include usually skipped package
  (like pip, setuptools and wheel) to the freeze output. :issue:`1610`.

**8.0.2 (2016-01-21)**

* Stop attempting to trust the system CA trust store because it's extremely
  common for them to be broken, often in incompatible ways. See :pull:`3416`.

**8.0.1 (2016-01-21)**

* Detect CAPaths in addition to CAFiles on platforms that provide them.

* Installing argparse or wsgiref will no longer warn or error - pip will allow
  the installation even though it may be useless (since the installed thing
  will be shadowed by the standard library).

* Upgrading a distutils installed item that is installed outside of a virtual
  environment, while inside of a virtual environment will no longer warn or

* Fix a bug where pre-releases were showing up in ``pip list --outdated``
  without the ``--pre`` flag.

* Switch the SOABI emulation from using RuntimeWarnings to debug logging.

* Rollback the removal of the ability to uninstall distutils installed items
  until a future date.

**8.0.0 (2016-01-19)**

* **BACKWARD INCOMPATIBLE** Drop support for Python 3.2.

* **BACKWARD INCOMPATIBLE** Remove the ability to find any files other than the
  ones directly linked from the index or find-links pages.

* **BACKWARD INCOMPATIBLE** Remove the ``--download-cache`` which had been
  deprecated and no-op'd in 6.0.

* **BACKWARD INCOMPATIBLE** Remove the ``--log-explicit-levels`` which had been
  deprecated in 6.0.

* **BACKWARD INCOMPATIBLE** Change pip wheel --wheel-dir default path from
  <cwd>/wheelhouse to <cwd>.

* Deprecate and no-op the ``--allow-external``, ``--allow-all-external``, and
  ``--allow-unverified`` functionality that was added as part of PEP 438. With
  changes made to the repository protocol made in PEP 470, these options are no
  longer functional.

* Allow ``--trusted-host`` within a requirements file. :issue:`2822`.

* Allow ``--process-dependency-links`` within a requirements file. :issue:`1274`.

* Allow ``--pre`` within a requirements file. :issue:`1273`.

* Allow repository URLs with secure transports to count as trusted. (E.g.,
  "git+ssh" is okay.) :issue:`2811`.

* Implement a top-level ``pip download`` command and deprecate
  ``pip install --download``.

* Fixed :issue:`3141`, when uninstalling, look for the case of paths containing
  symlinked directories (:pull:`3154`)

* When installing, if building a wheel fails, clear up the build directory
  before falling back to a source install. :issue:`3047`.

* Fix user directory expansion when ``HOME=/``. Workaround for Python bug, reported in :issue:`2996`.

* Fixed :issue:`3009`, correct reporting of requirements file line numbers

* Fixed :issue:`1062`, Exception(IOError) for ``pip freeze`` and ``pip list``
  commands with subversion >= 1.7. (:pull:`3346`)

* Provide a spinner showing that progress is happening when installing or
  building a package via ````. This will alleviate concerns that
  projects with unusually long build times have with pip appearing to stall.

* Include the functionality of ``peep`` into pip, allowing hashes to be baked
  into a requirements file and ensuring that the packages being downloaded
  match one of those hashes. This is an additional, opt-in security measure
  that, when used, removes the need to trust the repository.

* Fix a bug causing pip to not select a wheel compiled against an OSX SDK later
  than what Python itself was compiled against when running on a newer version
  of OSX.

* Add a new ``--prefix`` option for ``pip install`` that supports wheels and
  sdists. (:pull:`3252`)

* Fixed :issue:`2042` regarding wheel building with using a different
  encoding than the system.

* Drop PasteScript specific egg_info hack. (:pull:`3270`)

* Allow combination of pip list options --editable with --outdated/--uptodate.

* Gives VCS implementations control over saying whether a project
  is under their control (:pull:`3258`)

* Git detection now works when ```` is not at the Git repo root
  and when ``package_dir`` is used, so ``pip freeze`` works in more
  cases (:pull:`3258`)

* Correctly freeze Git develop packages in presence of the &subdirectory
  option (:pull:`3258`)

* The detection of editable packages now relies on the presence of ``.egg-link``
  instead of looking for a VCS, so ``pip list -e`` is more reliable

* Add the ``--prefix`` flag to ``pip install`` which allows specifying a root
  prefix to use instead of ``sys.prefix`` (:pull:`3252`).

* Allow duplicate specifications in the case that only the extras differ, and
  union all specified extras together (:pull:`3198`).

* Fix the detection of the user's current platform on OSX when determining the
  OSX SDK version (:pull:`3232`).

* Prevent the automatically built wheels from mistakenly being used across
  multiple versions of Python when they may not be correctly configured for
  that by making the wheel specific to a specific version of Python and
  specific interpreter (:pull:`3225`).

* Emulate the SOABI support in wheels from Python 2.x on Python 2.x as closely
  as we can with the information available within the interpreter

* Don't roundtrip to the network when git is pinned to a specific commit hash
  and that hash already exists locally (:pull:`3066`).

* Prefer wheels built against a newer SDK to wheels built against an older SDK
  on OSX (:pull:`3163`).

* Show entry points for projects installed via wheel (:pull:`3122`).

* Improve message when an unexisting path is passed to --find-links option

* pip freeze does not add the VCS branch/tag name in the #egg=... fragment anymore

* Warn on installation of editable if the provided #egg=name part does not
  match the metadata produced by ` egg_info`. :issue:`3143`.

* Add support for .xz files for python versions supporting them (>= 3.3).

Revision 1.14 / (download) - annotate - [select for diffs], Wed Jun 8 17:43:26 2016 UTC (7 years, 6 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)


Revision 1.13 / (download) - annotate - [select for diffs], Thu Oct 1 23:11:41 2015 UTC (8 years, 2 months ago) by rodent
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Update to 7.1.2. Previous version was having some difficulty with certain TLS
connections. Issue is resolved in this version.

Release Notes

7.1.2 (2015-08-22)

    Don't raise an error if pip is not installed when checking for the latest pip version.

7.1.1 (2015-08-20)

    Check that the wheel cache directory is writable before we attempt to write cached files to them.
    Move the pip version check until after any installs have been performed, thus removing the extraenous warning when upgrading pip.
    Added debug logging when using a cached wheel.
    Respect platlib by default on platforms that have it separated from purlib.
    Upgrade packaging to 15.3.
        Normalize post-release spellings for rev/r prefixes.
    Upgrade distlib to 0.2.1.
        Updated launchers to decode shebangs using UTF-8. This allows non-ASCII pathnames to be correctly handled.
        Ensured that the executable written to shebangs is normcased.
        Changed ScriptMaker to work better under Jython.
    Upgrade ipaddress to 1.0.13.

7.1.0 (2015-06-30)

    Allow constraining versions globally without having to know exactly what will be installed by the pip command. #2731.
    Accept --no-binary and --only-binary via pip.conf. #2867.
    Allow --allow-all-external within a requirements file.
    Fixed an issue where --user could not be used when --prefix was used in a distutils configuration file.
    Fixed an issue where the SOABI tags were not correctly being generated on Python 3.5.
    Fixed an issue where we were advising windows users to upgrade by directly executing pip, when that would always fail on Windows.
    Allow ~ to be expanded within a cache directory in all situations.

7.0.3 (2015-06-01)

    Fixed a regression where --no-cache-dir would raise an exception, fixes #2855.

7.0.2 (2015-06-01)

    BACKWARD INCOMPATIBLE Revert the change (released in v7.0.0) that required quoting in requirements files around specifiers containing environment markers. (PR #2841)
    BACKWARD INCOMPATIBLE Revert the accidental introduction of support for options interleaved with requirements, version specifiers etc in requirements files. (PR #2841)
    Expand ~ in the cache directory when caching wheels, fixes #2816.
    Use python -m pip instead of pip when recommending an upgrade command to Windows users.

7.0.1 (2015-05-22)

    Don't build and cache wheels for non-editable installations from VCSs.
    Allow --allow-all-external inside of a requirements.txt file, fixing a regression in 7.0.

7.0.0 (2015-05-21)

    BACKWARD INCOMPATIBLE Removed the deprecated --mirror, --use-mirrors, and -M options.
    BACKWARD INCOMPATIBLE Removed the deprecated zip and unzip commands.
    BACKWARD INCOMPATIBLE Removed the deprecated --no-install and --no-download options.
    BACKWARD INCOMPATIBLE No longer implicitly support an insecure origin origin, and instead require insecure origins be explicitly trusted with the --trusted-host option.
    BACKWARD INCOMPATIBLE Removed the deprecated link scraping that attempted to parse HTML comments for a specially formatted comment.
    BACKWARD INCOMPATIBLE Requirements in requirements files containing markers must now be quoted due to parser changes from (PR #2697) and (PR #2725). For example, use "SomeProject; python_version < '2.7'", not simply SomeProject; python_version < '2.7'
    Ignores bz2 archives if Python wasn't compiled with bz2 support. Fixes #497
    Support --install-option and --global-option per requirement in requirement files (PR #2537)
    Build Wheels prior to installing from sdist, caching them in the pip cache directory to speed up subsequent installs. (PR #2618)
    Allow fine grained control over the use of wheels and source builds. (PR #2699)
    --no-use-wheel and --use-wheel are deprecated in favour of new options --no-binary and --only-binary. The equivalent of --no-use-wheel is --no-binary=:all:. (PR #2699)
    The use of --install-option, --global-option or --build-option disable the use of wheels, and the autobuilding of wheels. (PR #2711) Fixes #2677
    Improve logging when a requirement marker doesn't match your environment (PR #2735)
    Removed the temporary modifications (that began in pip v1.4 when distribute and setuptools merged) that allowed distribute to be considered a conflict to setuptools. pip install -U setuptools will no longer upgrade "distribute" to "setuptools". Instead, use pip install -U distribute (PR #2767).
    Only display a warning to upgrade pip when the newest version is a final release and it is not a post release of the version we already have installed (PR #2766).
    Display a warning when attempting to access a repository that uses HTTPS when we don't have Python compiled with SSL support (PR #2761).
    Allowing using extras when installing from a file path without requiring the use of an editable (PR #2785).
    Fix an infinite loop when the cache directory is stored on a file system which does not support hard links (PR #2796).
    Remove the implicit debug log that was written on every invocation, instead users will need to use --log if they wish to have one (PR #2798).

6.1.1 (2015-04-07)

    No longer ignore dependencies which have been added to the standard library, instead continue to install them.

6.1.0 (2015-04-07)

    Fixes #2502. Upgrades were failing when no potential links were found for dependencies other than the current installation. (PR #2538)
    Use a smoother progress bar when the terminal is capable of handling it, otherwise fallback to the original ASCII based progress bar.
    Display much less output when pip install succeeds, because on success, users probably don't care about all the nitty gritty details of compiling and installing. When pip install fails, display the failed install output once instead of twice, because once is enough. (PR #2487)
    Upgrade the bundled copy of requests to 2.6.0, fixing CVE-2015-2296.
    Display format of latest package when using pip list --outdated. (PR #2475)
    Don't use pywin32 as ctypes should always be available on Windows, using pywin32 prevented uninstallation of pywin32 on Windows. (PR #2467)
    Normalize the --wheel-dir option, expanding out constructs such as ~ when used (PR #2441).
    Display a warning when an undefined extra has been requested. (PR #2142)
    Speed up installing a directory in certain cases by creating a sdist instead of copying the entire directory. (PR #2535)
    Don't follow symlinks when uninstalling files (PR #2552)
    Upgrade the bundled copy of cachecontrol from 0.11.1 to 0.11.2. Fixes #2481 (PR #2595)
    Attempt to more smartly choose the order of installation to try and install dependencies before the projects that depend on them. (PR #2616)
    Skip trying to install libraries which are part of the standard library. (PR #2636, PR #2602)
    Support arch specific wheels that are not tied to a specific Python ABI. (PR #2561)
    Output warnings and errors to stderr instead of stdout. (PR #2543)
    Adjust the cache dir file checks to only check ownership if the effective user is root. (PR #2396)
    Install headers into a per project name directory instead of all of them into the root directory when inside of a virtual environment. (PR #2421)

6.0.8 (2015-02-04)

    Fix an issue where the --download flag would cause pip to no longer use randomized build directories.
    Fix an issue where pip did not properly unquote quoted URLs which contain characters like PEP 440's epoch separator (!).
    Fix an issue where distutils installed projects were not actually uninstalled and deprecate attempting to uninstall them altogether.
    Retry deleting directories incase a process like an antivirus is holding the directory open temporarily.
    Fix an issue where pip would hide the cursor on Windows but would not reshow it.

6.0.7 (2015-01-28)

    Fix a regression where Numpy requires a build path without symlinks to properly build.
    Fix a broken log message when running pip wheel without a requirement.
    Don't mask network errors while downloading the file as a hash failure.
    Properly create the state file for the pip version check so it only happens once a week.
    Fix an issue where switching between Python 3 and Python 2 would evict cached items.
    Fix a regression where pip would be unable to successfully uninstall a project without a normalized version.

6.0.6 (2015-01-03)

    Continue the regression fix from 6.0.5 which was not a complete fix.

6.0.5 (2015-01-03)

    Fix a regression with 6.0.4 under Windows where most commands would raise an exception due to Windows not having the os.geteuid() function.

6.0.4 (2015-01-03)

    Fix an issue where ANSI escape codes would be used on Windows even though the Windows shell does not support them, causing odd characters to appear with the progress bar.
    Fix an issue where using -v would cause an exception saying TypeError: not all arguments converted during string formatting.
    Fix an issue where using -v with dependency links would cause an exception saying TypeError: 'InstallationCandidate' object is not iterable.
    Fix an issue where upgrading distribute would cause an exception saying TypeError: expected string or buffer.
    Show a warning and disable the use of the cache directory when the cache directory is not owned by the current user, commonly caused by using sudo without the -H flag.
    Update PEP 440 support to handle the latest changes to PEP 440, particularly the changes to >V and <V so that they no longer imply !=V.*.
    Document the default cache directories for each operating system.
    Create the cache directory when the pip version check needs to save to it instead of silently logging an error.
    Fix a regression where the -q flag would not properly suppress the display of the progress bars.

6.0.3 (2014-12-23)

    Fix an issue where the implicit version check new in pip 6.0 could cause pip to block for up to 75 seconds if PyPI was not accessible.
    Make --no-index imply --disable-pip-version-check.

6.0.2 (2014-12-23)

    Fix an issue where the output saying that a package was installed would report the old version instead of the new version during an upgrade.
    Fix left over merge conflict markers in the documentation.
    Document the backwards incompatible PEP 440 change in the 6.0.0 changelog.

6.0.1 (2014-12-22)

    Fix executable file permissions for Wheel files when using the distutils scripts option.
    Fix a confusing error message when an exceptions was raised at certain points in pip's execution.
    Fix the missing list of versions when a version cannot be found that matches the specifiers.
    Add a warning about the possibly problematic use of > when the given specifier doesn't match anything.
    Fix an issue where installing from a directory would not copy over certain directories which were being excluded, however some build systems rely on them.

6.0 (2014-12-22)

    PROCESS Version numbers are now simply X.Y where the leading 1 has been dropped.
    BACKWARD INCOMPATIBLE Dropped support for Python 3.1.
    BACKWARD INCOMPATIBLE Removed the bundle support which was deprecated in 1.4. (PR #1806)
    BACKWARD INCOMPATIBLE File lists generated by pip show -f are now rooted at the location reported by show, rather than one (unstated) directory lower. (PR #1933)
    BACKWARD INCOMPATIBLE The ability to install files over the FTP protocol was accidently lost in pip 1.5 and it has now been decided to not restore that ability.
    BACKWARD INCOMPATIBLE PEP 440 is now fully implemented, this means that in some cases versions will sort differently or version specifiers will be interpreted differently than previously. The common cases should all function similarly to before.
    DEPRECATION pip install --download-cache and pip wheel --download-cache command line flags have been deprecated and the functionality removed. Since pip now automatically configures and uses it's internal HTTP cache which supplants the --download-cache the existing options have been made non functional but will still be accepted until their removal in pip v8.0. For more information please see
    DEPRECATION pip install --build and pip install --no-clean are now NOT deprecated. This reverses the deprecation that occurred in v1.5.3. See #906 for discussion.
    DEPRECATION Implicitly accessing URLs which point to an origin which is not a secure origin, instead requiring an opt-in for each host using the new --trusted-host flag (pip install --trusted-host foo).
    Allow the new --trusted-host flag to also disable TLS verification for a particular hostname.
    Added a --user flag to pip freeze and pip list to check the user site directory only.
    Fixed #1873. Silence byte compile errors when installation succeed.
    Added a virtualenv-specific configuration file. (PR #1364)
    Added site-wide configuation files. (PR #1978)
    Added an automatic check to warn if there is an updated version of pip available (PR #2049).
    wsgiref and argparse (for >py26) are now excluded from pip list and pip freeze (PR #1606, PR #1369)
    Fixed #1424. Add --client-cert option for SSL client certificates.
    Fixed #1484. pip show --files was broken for wheel installs. (PR #1635)
    Fixed #1641. install_lib should take precedence when reading distutils config. (PR #1642)
    Send Accept-Encoding: identity when downloading files in an attempt to convince some servers who double compress the downloaded file to stop doing so. (PR #1688)
    Fixed #1559. Stop breaking when given pip commands in uppercase (PR #1725)
    Fixed #1618. Pip no longer adds duplicate logging consumers, so it won't create duplicate output when being called multiple times. (PR #1723)
    Fixed #1769. pip wheel now returns an error code if any wheels fail to build.
    Fixed #1775. pip wheel wasn't building wheels for dependencies of editable requirements.
    Allow the use of --no-use-wheel within a requirements file. (PR #1859)
    Fixed #1680. Attempt to locate system TLS certificates to use instead of the included CA Bundle if possible. (PR #1866)
    Fixed #1319. Allow use of Zip64 extension in Wheels and other zip files. (PR #1868)
    Fixed #1101. Properly handle an index or --find-links target which has a <base> without a href attribute. (PR #1869)
    Fixed #1885. Properly handle extras when a project is installed via Wheel. (PR #1896)
    Fixed #1180. Added support to respect proxies in pip search. It also fixes #932 and #1104. (PR #1902)
    Fixed #798 and #1060. pip install --download works with vcs links. (PR #1926)
    Fixed #1456. Disabled warning about insecure index host when using localhost. Based off of Guy Rozendorn's work in PR #1718. (PR #1967)
    Allow the use of OS standard user configuration files instead of ones simply based around $HOME. (PR #2021)
    Fixed #1825. When installing directly from wheel paths or urls, previous versions were not uninstalled. This also fixes #804 specifically for the case of wheel archives. (PR #1838)
    Fixed #2075, detect the location of the .egg-info directory by looking for any file located inside of it instead of relying on the record file listing a directory. (PR #2076)
    Fixed #1964, #1935, #676, Use a randomized and secure default build directory when possible. (PR #2122, CVE-2014-8991)
    Fixed #1433. Support environment markers in requirements.txt files. (PR #2134)
    Automatically retry failed HTTP requests by default. (PR #1444, PR #2147)
    Fixed #1100 - Handle HTML Encoding better using a method that is more similar to how browsers handle it. (PR #1874)
    Reduce the verbosity of the pip command by default. (PR #2175, PR #2177, PR #2178)
    Fixed #2031 - Respect sys.executable on OSX when installing from Wheels.
    Display the entire URL of the file that is being downloaded when downloading from a non PyPI repository (PR #2183).
    Support setuptools style environment markers in a source distribution (PR #2153).

Revision 1.12 / (download) - annotate - [select for diffs], Sat Jul 4 14:12:03 2015 UTC (8 years, 5 months ago) by bsiegert
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3
Changes since 1.11: +6 -1 lines
Diff to previous 1.11 (colored)

Use ALTERNATIVES for bin/pip so that this package can be installed
for multiple Python versions in parallel. Fixes PR pkg/49694.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Jun 1 14:39:39 2014 UTC (9 years, 6 months ago) by rodent
Branch: MAIN
CVS Tags: pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

**1.5.6 (2014-05-16)**
* Upgrade requests to 2.3.0 to fix an issue with proxies on Python 3.4.1
  (PR #1821).

**1.5.5 (2014-05-03)**

* Fixes #1632.  Uninstall issues on debianized pypy, specifically issues with
  setuptools upgrades. (PR #1743)
* Update documentation to point at for
  bootstrapping pip.
* Update docs to point to
* Upgrade the bundled projects (distlib==0.1.8, html5lib==1.0b3, six==1.6.1,
  colorama==0.3.1, setuptools==3.4.4).

Revision 1.10 / (download) - annotate - [select for diffs], Mon Feb 24 12:06:14 2014 UTC (9 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2014Q1-base, pkgsrc-2014Q1
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)

Update to 1.5.4:

**1.5.4 (2014-02-21)**

* Correct deprecation warning for ``pip install --build`` to only notify when
  the `--build` value is different than the default.

**1.5.3 (2014-02-20)**

* **DEPRECATION** ``pip install --build`` and ``pip install --no-clean`` are now
  deprecated.  See Issue #906 for discussion.

* Fixed #1112. Couldn't download directly from wheel paths/urls, and when wheel
  downloads did occur using requirement specifiers, dependencies weren't
  downloaded (PR #1527)

* Fixed #1320. ``pip wheel`` was not downloading wheels that already existed (PR

* Fixed #1111. ``pip install --download`` was failing using local
  ``--find-links`` (PR #1524)

* Workaround for Python bug (PR #1544)

* Don't pass a unicode __file__ to on Python 2.x (PR #1583)

* Verify that the Wheel version is compatible with this pip (PR #1569)

Revision 1.9 / (download) - annotate - [select for diffs], Sun Feb 2 06:58:08 2014 UTC (9 years, 10 months ago) by rodent
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

Updated to latest release, 1.5.2. From CHANGES.txt:

1.5.2 (2014-01-26)

* Upgraded the vendored ``pkg_resources`` and ``_markerlib`` to setuptools 2.1.
* Fixed an error that prevented accessing PyPI when pyopenssl, ndg-httpsclient,
  and pyasn1 are installed
* Fixed an issue that caused trailing comments to be incorrectly included as
  part of the URL in a requirements file

1.5.1 (2014-01-20)

* pip now only requires setuptools (any setuptools, not a certain version) when
  installing distributions from src (i.e. not from wheel). (Pull #1434).
* `` now installs setuptools, when it's not already installed (Pull
* Don't decode downloaded files that have a ``Content-Encoding`` header. (Pull
* Fix to correctly parse wheel filenames with single digit versions. (Pull
* If `--allow-unverified` is used assume it also means `--allow-external`. (Pull

Revision 1.8 / (download) - annotate - [select for diffs], Mon Jan 27 18:41:12 2014 UTC (9 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored)

Do not set FETCH_USING, should not be set in a package Makefile.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jan 16 02:40:15 2014 UTC (9 years, 10 months ago) by rodent
Branch: MAIN
Changes since 1.6: +6 -2 lines
Diff to previous 1.6 (colored)

Updated to latest release, 1.5. Included lang/python/ to
REPLACE_PYTHON in two installed files. Lots of PLIST additions/moves. From


1.5 (2014-01-01)

* **BACKWARD INCOMPATIBLE** pip no longer supports the ``--use-mirrors``,
  ``-M``, and ``--mirrors`` flags. The mirroring support has been removed. In
  order to use a mirror specify it as the primary index with ``-i`` or
  ``--index-url``, or as an additional index with ``--extra-index-url``. (Pull #1098, CVE-2013-5123)

* **BACKWARD INCOMPATIBLE** pip no longer will scrape insecure external urls by
  default nor will it install externally hosted files by default. Users may opt
  into installing externally hosted or insecure files or urls using
  ``--allow-external PROJECT`` and ``--allow-unverified PROJECT``. (Pull #1055)

* **BACKWARD INCOMPATIBLE** pip no longer respects dependency links by default.
  Users may opt into respecting them again using ``--process-dependency-links``.

* **DEPRECATION** ``pip install --no-install`` and ``pip install
  --no-download`` are now formally deprecated.  See Issue #906 for discussion on
  possible alternatives, or lack thereof, in future releases.

* **DEPRECATION** ``pip zip`` and ``pip unzip`` are now formally deprecated.

* pip will now install Mac OSX platform wheels from PyPI. (Pull #1278)

* pip now generates the appropriate platform-specific console scripts when
  installing wheels. (Pull #1251)

* Pip now confirms a wheel is supported when installing directly from a path or
  url. (Pull #1315)

* Fixed #1097, ``--ignore-installed`` now behaves again as designed, after it was
  unintentionally broke in v0.8.3 when fixing Issue #14 (Pull #1352).

* Fixed a bug where global scripts were being removed when uninstalling --user
  installed packages (Pull #1353).

* Fixed #1163, --user wasn't being respected when installing scripts from wheels (Pull #1176).

* Fixed #1150, we now assume '_' means '-' in versions from wheel filenames (Pull #1158).

* Fixed #219, error when using --log with a failed install (Pull #1205).

* Fixed #1131, logging was buffered and choppy in Python 3.

* Fixed #70,  --timeout was being ignored (Pull #1202).

* Fixed #772, error when setting PIP_EXISTS_ACTION (Pull #1201).

* Added colors to the logging output in order to draw attention to important
  warnings and errors. (Pull #1109)

* Added warnings when using an insecure index, find-link, or dependency link. (Pull #1121)

* Added support for installing packages from a subdirectory using the ``subdirectory``
  editable option. ( Pull #1082 )

* Fixed #1192. "TypeError: bad operand type for unary" in some cases when
  installing wheels using --find-links (Pull #1218).

* Fixed #1133 and #317. Archive contents are now written based on system
  defaults and umask (i.e. permissions are not preserved), except that regular
  files with any execute permissions have the equivalent of "chmod +x" applied
  after being written (Pull #1146).

* PreviousBuildDirError now returns a non-zero exit code and prevents the
  previous build dir from being cleaned in all cases (Pull #1162).

* Renamed --allow-insecure to --allow-unverified, however the old name will
  continue to work for a period of time.

* Fixed #1006, error when installing local projects with symlinks in Python 3.

* The previously hidden ``--log-file`` otion, is now shown as a general option.

1.4.1 (2013-08-07)

* **New Signing Key** Release 1.4.1 is using a different key than normal with
  fingerprint: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
* Fixed issues with installing from pybundle files
* Fixed error when sysconfig module throws an exception
* Don't ignore already installed pre-releases
* Fixes related to upgrading setuptools
* Fixes so that --download works with wheel archives
* Fixes related to recognizing and cleaning global build dirs

Revision 1.6 / (download) - annotate - [select for diffs], Thu Jul 25 15:11:59 2013 UTC (10 years, 4 months ago) by wen
Branch: MAIN
CVS Tags: pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Update to 1.4

Upstream changes:
1.4 (2013-07-23)

BACKWARD INCOMPATIBLE pip now only installs stable versions by default, and offers a new --pre option to also find pre-release and development versions. (Pull #834)
BACKWARD INCOMPATIBLE Dropped support for Python 2.5. The minimum supported Python version for pip 1.4 is Python 2.6.
Added support for installing and building wheel archives. Thanks Daniel Holth, Marcus Smith, Paul Moore, and Michele Lacchia (Pull #845)
Applied security patch to pip's ssl support related to certificate DNS wildcard matching (
To satisfy pip's setuptools requirement, pip now recommends setuptools>=0.8, not distribute. setuptools and distribute are now merged into one project called 'setuptools'. (Pull #1003)
pip will now warn when installing a file that is either hosted externally to the index or cannot be verified with a hash. In the future pip will default to not installing them and will require the flags -allow-external NAME, and -allow-insecure NAME respectively. (Pull #985)
If an already-downloaded or cached file has a bad hash, re-download it rather than erroring out. (Issue #963).
pip bundle and support for installing from pybundle files is now considered deprecated and will be removed in pip v1.5.
Fixed a number of issues (#413, #709, #634, #602, and #939) related to cleaning up and not reusing build directories. (Pull #865, #948)
Added a User Agent so that pip is identifiable in logs. (Pull #901)
Added ssl and -user support to Thanks Gabriel de Perthuis. (Pull #895)
Fixed the proxy support, which was broken in pip 1.3.x (Pull #840)
Fixed issue #32 - pip fails when server does not send content-type header. Thanks Hugo Lopes Tavares and Kelsey Hightower (Pull #872).
"Vendorized" distlib as pip.vendor.distlib (
Fixed git VCS backend with git 1.8.3. (Pull #967)

Revision 1.5 / (download) - annotate - [select for diffs], Sat Apr 13 14:41:53 2013 UTC (10 years, 7 months ago) by wen
Branch: MAIN
CVS Tags: pkgsrc-2013Q2-base, pkgsrc-2013Q2
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

Update to 1.3.1

Upstream changes:
1.3.1 (2013-03-08)

Fixed a major backward incompatible change of parsing URLs to externally hosted packages that got accidentally included in 1.3.
1.3 (2013-03-07)

SSL Cert Verification; Make https the default for PyPI access. Thanks James Cleveland, Giovanni Bajo, Marcus Smith and many others (Pull #789).
Added "pip list" for listing installed packages and the latest version available. Thanks Rafael Caricio, Miguel Araujo, Dmitry Gladkov (Pull #752)
Fixed security issues with pip's use of temp build directories. Thanks David (d1b) and Thomas Guttler. (Pull #780)
Improvements to sphinx docs and cli help. (Pull #773)
Fixed issue #707, dealing with OS X temp dir handling, which was causing global NumPy installs to fail. (Pull #768)
Split help output into general vs command-specific option groups. Thanks Georgi Valkov. (Pull #744; Pull #721 contains preceding refactor)
Fixed dependency resolution when installing from archives with uppercase project names. (Pull #724)
Fixed problem where re-installs always occurred when using file:// find-links. (Pulls #683/#702)
"pip install -v" now shows the full download url, not just the archive name. Thanks Marc Abramowitz (Pull #687)
Fix to prevent unnecessary PyPI redirects. Thanks Alex Gronholm (Pull #695)
Fixed issue #670 - install failure under Python 3 when the same version of a package is found under 2 different URLs. Thanks Paul Moore (Pull #671)
Fix git submodule recursive updates. Thanks Roey Berman. (Pulls #674)
Explicitly ignore rel='download' links while looking for html pages. Thanks Maxime R. (Pull #677)
--user/--upgrade install options now work together. Thanks 'eevee' for discovering the problem. (Pull #705)
Added check in install --download to prevent re-downloading if the target file already exists. Thanks Andrey Bulgakov. (Pull #669)
Added support for bare paths (including relative paths) as argument to --find-links. Thanks Paul Moore for draft patch.
Added support for --no-index in requirements files.
Added "pip show" command to get information about an installed package. Fixes #131. Thanks Kelsey Hightower and Rafael Caricio.
Added --root option for "pip install" to specify root directory. Behaves like the same option in distutils but also plays nice with pip's egg-info. Thanks Przemek Wrzos. (Issue #253 / Pull #693)

Revision 1.4 / (download) - annotate - [select for diffs], Wed Oct 31 11:19:33 2012 UTC (11 years, 1 month ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.3: +1 -3 lines
Diff to previous 1.3 (colored)

Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Sep 10 14:01:28 2012 UTC (11 years, 2 months ago) by wen
Branch: MAIN
CVS Tags: pkgsrc-2012Q3-base, pkgsrc-2012Q3
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

Update to 1.2.1 from 1.1

Upstream changes:
1.2.1 (2012-09-06)
Fixed a regression introduced in 1.2 about raising an exception when not finding any files to uninstall in the current environment. Thanks for the fix, Marcus Smith.

1.2 (2012-09-01)
Dropped support for Python 2.4 The minimum supported Python version is now Python 2.5.
Fixed issue #605 - pypi mirror support broken on some DNS responses. Thanks philwhin.
Fixed issue #355 - pip uninstall removes files it didn't install. Thanks pjdelport.
Fixed issues #493, #494, #440, and #573 related to improving support for the user installation scheme. Thanks Marcus Smith.
Write failure log to temp file if default location is not writable. Thanks andreigc.
Pull in submodules for git editable checkouts. Fixes #289 and #421. Thanks Hsiaoming Yang and Markus Hametner.
Use a temporary directory as the default build location outside of a virtualenv. Fixes issues #339 and #381. Thanks TC01.
Added support for specifying extras with local editables. Thanks Nick Stenning.
Added --egg flag to request egg-style rather than flat installation. Refs issue #3. Thanks Kamal Bin Mustafa.
Fixed issue #510 - prevent e.g. gmpy2-2.0.tar.gz from matching a request to pip install gmpy; sdist filename must begin with full project name followed by a dash. Thanks casevh for the report.
Fixed issue #504 - allow package URLS to have querystrings. Thanks W. Trevor King.
Fixed issue #58 - pip freeze now falls back to non-editable format rather than blowing up if it can't determine the origin repository of an editable. Thanks Rory McCann.
Added a file to enable python -m pip on Python versions that support it. Thanks Alexey Luchko.
Fixed issue #487 - upgrade from VCS url of project that does exist on index. Thanks Andrew Knapp for the report.
Fixed issue #486 - fix upgrade from VCS url of project with no distribution on index. Thanks Andrew Knapp for the report.
Fixed issue #427 - clearer error message on a malformed VCS url. Thanks Thomas Fenzl.
Added support for using any of the built in guaranteed algorithms in hashlib as a checksum hash.
Fixed issue #321 - Raise an exception if current working directory can't be found or accessed.
Fixed issue #82 - Removed special casing of the user directory and use the Python default instead.
Fixed #436 - Only warn about version conflicts if there is actually one. This re-enables using ==dev in requirements files.
Moved tests to be run on Travis CI:
Added a better help formatter.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Jun 3 13:18:58 2012 UTC (11 years, 6 months ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2012Q2-base, pkgsrc-2012Q2
Changes since 1.1: +3 -9 lines
Diff to previous 1.1 (colored)

Update py-pip to 1.1.
Based on PR 46531 by Wen Heping.
* convert to use python/

1.1 (2012-02-16)

* Fixed issue #326 - don't crash when a package's emits UTF-8 and
  then fails. Thanks Marc Abramowitz.

* Added ``--target`` option for installing directly to arbitrary directory.
  Thanks Stavros Korokithakis.

* Added support for authentication with Subversion repositories. Thanks
  Qiangning Hong.

* Fixed issue #315 - ``--download`` now downloads dependencies as well.
  Thanks Qiangning Hong.

* Errors from subprocesses will display the current working directory.
  Thanks Antti Kaihola.

* Fixed issue #369 - compatibility with Subversion 1.7. Thanks Qiangning
  Hong. Note that setuptools remains incompatible with Subversion 1.7; to
  get the benefits of pip's support you must use Distribute rather than

* Fixed issue #57 - ignore py2app-generated OS X mpkg zip files in finder.
  Thanks Rene Dudfield.

* Fixed issue #182 - log to ~/Library/Logs/ by default on OS X framework
  installs. Thanks Dan Callahan for report and patch.

* Fixed issue #310 - understand version tags without minor version ("py3")
  in sdist filenames. Thanks Stuart Andrews for report and Olivier Girardot for

* Fixed issue #7 - Pip now supports optionally installing setuptools
  "extras" dependencies; e.g. "pip install Paste[openid]". Thanks Matt Maker
  and Olivier Girardot.

* Fixed issue #391 - freeze no longer borks on requirements files with
  --index-url or --find-links. Thanks Herbert Pfennig.

* Fixed issue #288 - handle symlinks properly. Thanks lebedov for the patch.

* Fixed issue #49 - pip install -U no longer reinstalls the same versions of
  packages. Thanks iguananaut for the pull request.

* Removed ``-E`` option and ``PIP_RESPECT_VIRTUALENV``; both use a
  restart-in-venv mechanism that's broken, and neither one is useful since
  every virtualenv now has pip inside it.

* Fixed issue #366 - pip throws IndexError when it calls `scraped_rel_links`

* Fixed issue #22 - pip search should set and return a userful shell status code

* Fixed issue #351 and #365 - added global ``--exists-action`` command line
  option to easier script file exists conflicts, e.g. from editable
  requirements from VCS that have a changed repo URL.

Revision / (download) - annotate - [select for diffs] (vendor branch), Mon Jan 23 21:39:32 2012 UTC (11 years, 10 months ago) by pettai
Branch: TNF
CVS Tags: pkgsrc-base, pkgsrc-2012Q1-base, pkgsrc-2012Q1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

pip is a replacement for easy_install. It uses mostly the same
techniques for finding packages, so packages that were made
easy_installable should be pip-installable as well.

pip is meant to improve on easy_install. Some of the improvements:
    * All packages are downloaded before installation.
Partially-completed installation doesn't occur as a result.
    * Care is taken to present useful output on the console.
    * The reasons for actions are kept track of. For instance, if
a package is being installed, pip keeps track of why that package
was required.
    * Error messages should be useful.
    * The code is relatively concise and cohesive, making it easier
to use programmatically.
    * Packages don't have to be installed as egg archives, they can
be installed flat (while keeping the egg metadata).
    * Native support for other version control systems (Git, Mercurial
and Bazaar)
    * Uninstallation of packages.
    * Simple to define fixed sets of requirements and reliably
reproduce a set of packages.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Jan 23 21:39:32 2012 UTC (11 years, 10 months ago) by pettai
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>