./devel/py-pip, Installs Python packages as an easy_install replacement

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 20.3.3, Package name: py38-pip-20.3.3, Maintainer: pkgsrc-users

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.

Required to run:
[devel/py-setuptools] [lang/python37]

Required to build:

Master sites:

SHA1: a8c85abfdc0bf15dd7360865f59e4234be00d1e2
RMD160: 44caf2ab9618ad0b91422748af760e6aa94b8608
Filesize: 1493.477 KB

Version history: (Expand)

CVS history: (Expand)

   2020-12-18 10:03:43 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
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.
   2020-12-04 15:17:03 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
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.
   2020-11-04 11:23:45 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
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
   2020-09-09 09:26:48 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pip: updated to 20.2.3


Deprecations and Removals
- Deprecate support for Python 3.5

- Make the ``setup.py install`` deprecation warning less noisy. We warn only
  when ``setup.py install`` succeeded and ``setup.py bdist_wheel`` failed, as
  situations where both fails are most probably irrelevant to this deprecation.
   2020-08-26 13:50:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
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.
   2020-08-04 19:53:31 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
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.
   2020-07-29 12:00:16 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-pip: updated to 20.2


Deprecations and Removals
- Deprecate setup.py-based 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 \ 
- Deprecate legacy setup.py install when building a wheel failed for source
  distributions without pyproject.toml
- Deprecate -b/--build/--build-dir/--build-directory. Its current behaviour is \ 
  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 \ 
- 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 \ 
https://mail.python.org/mailman3/lists/ … ython.org/
- 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.
   2020-06-08 22:17:56 by Leonardo Taccari | Files touched by this commit (2)
Log message:
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 <https://github.com/NetBSD/pkgsrc/pull/64>.

Closes NetBSD/pkgsrc#64