* Deprecations and Removals
+ Deprecate installation with setup.py install when no-binary is enabled
for source distributions without pyproject.toml. (#11452)
+ Deprecate installation with setup.py install when the wheel package is
absent for source distributions without pyproject.toml. (#8559)
+ Drop --use-deprecated=out-of-tree-build. (#11001)
* Features
+ Use the data-dist-info-metadata attribute from PEP 658 to resolve
distribution metadata without downloading the dist yet. (#11111)
+ Add --dry-run option to pip install, to let it print what it would
install but not actually make changes in the target environment. (#11096)
+ Add pip inspect command to obtain the list of installed distributions
and other information about the Python environment, in JSON. (#11245)
+ Add option to install and uninstall commands to opt-out from
running-as-root warning. (#10556)
+ Add a user interface for supplying config settings to build backends.
(#11059)
+ Explains why specified version cannot be retrieved when Requires-Python
is not satisfied. (#9615)
+ Validate build dependencies when using --no-build-isolation. (#9794)
* 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. (#11547)
+ Fix --no-index when --index-url or --extra-index-url is specified
inside a requirements file. (#11276)
+ Ignore distributions with invalid Name in metadata instead of crashing,
when using the importlib.metadata backend. (#11352)
+ Raise RequirementsFileParseError when parsing malformed requirements
options that can’t be sucessfully parsed by shlex. (#11491)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=101
- Drop the doctype check, that presented a warning for index
pages that use non-compliant HTML 5.
- Update to 22.0.3:
- Print the exception via rich.traceback, when running with
--debug.
- 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.
- Use html.parser by default, instead of falling back
to html5lib when --use-deprecated=html5lib is not
passed.
- Clarify that using per-requirement overrides disables the
usage of wheels.
- Update to 22.0.2:
- 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.
- Update to 22.0.1:
- Accept lowercase <!doctype html> on index pages.
- Properly handle links parsed by html5lib, when using
--use-deprecated=html5lib.
- Update to 22.0:
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=96
* Always refuse installing or building projects that have no ``pyproject.toml`` nor
``setup.py``.
* 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 ``setup.py egg_info``. Also, refuse
installing projects that only have a ``setup.cfg`` and no ``setup.py`` nor
``pyproject.toml``. These restore the pre-21.3 behaviour.
* Restore compatibility of where configuration files are loaded from on MacOS
* Upgrade pep517 to 0.12.0
* 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 <https://www.python.org/dev/peps/pep-0610/>`_ 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=92
- Update to 20.2.4:
Deprecations and Removals
* Document that certain removals can be fast tracked.
* Document that Python versions are generally supported until
PyPI usage falls below 5%
Features
* 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
OBS-URL: https://build.opensuse.org/request/show/860101
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=90
- add setuptools-45.1.0-py3-none-any.whl for testsuite
* Fix a regression in generation of compatibility tags
* Rename an internal module, to avoid ImportErrors due to improper uninstallation
* Switch to a dedicated CLI tool for vendoring dependencies.
* Remove wheel tag calculation from pip and use packaging.tags. This should provide more tags ordered better than in prior releases.
* Deprecate setup.py-based 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 entries.
* 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 insecure.
* 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
* Correctly handle system site-packages, in virtual environments created with venv (PEP 405).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=76
- Update to version 19.3.1
* Document Python 3.8 support.
* Fix bug that prevented installation of PEP 517 packages without setup.py.
* Remove undocumented support for un-prefixed URL requirements pointing to SVN repositories.
* Remove the deprecated --venv option from pip config.
* Make pip show warn about packages not found.
* 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.
* Ignore errors copying socket files for local source installs (in Python 3).
* Skip copying .tox and .nox directories to temporary build directories
* Ignore "require_virtualenv" in pip config
OBS-URL: https://build.opensuse.org/request/show/741057
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=74
* Fix a ``NoneType`` ``AttributeError`` when evaluating hashes and no hashes provided
* Drop support for EOL Python 3.4.
* 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 wheel
* 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 installations
* Add a --path argument to pip list to support --target installations
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=70
- Update to version 19.1.1+git.1557777841.63878672:
* Update news file to match usual style
* fix-5963: assert error message
* Simplify CandidateEvaluator.evaluate_link().
* Fix 6486 mac gitignore (#6487)
* Store instances in the VcsSupport registry instead of classes.
* Remove unused cls argument from VcsSupport.unregister().
* fix-5963: Add news file
* fix-5963: fail elegantly on missing name or section in config set / unset
* Remove unnecessary slices.
* Fix typo.
- Switch to multibuild, so testing is separate from the building
of the package itself.
OBS-URL: https://build.opensuse.org/request/show/703184
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=66
- Update to version 19.1.1+git.1557521541.a731e7e3:
* Docs: capitalize "URL"
* Upgrade Sphinx version for Read the Docs (#6477)
* Upwrap import
* Remove utils/packaging.py's dependence on the current environment.
* Improve import error handling Fix --no-index usage Fix missing type annotation type
* Rename _link_package_versions() to evaluate_link().
* Move _link_package_versions() to CandidateEvaluator.
* Refine return type of _package_versions() and find_all_candidates().
* Fix mismerged import
* Issue #5948: Enable keyring support
* Move run_with_log_command() after run_stderr_with_prefix().
* Change to never allow logging errors during tests.
* Add failing test.
* Respect --global-option and --install-option for VCS installs.
- Start using upstream git checkout instead of the released
tarballs so we can get tests/ directory (gh#pypa/pip#6258).
- Enable tests.
- Update 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. (#6434)
- Fix a regression that caused @ to be quoted in pypiserver
links. This interfered with parsing the revision string from
VCS urls. (#6440)
- Configuration files may now also be stored under sys.prefix
(#5060)
- Avoid creating an unnecessary local clone of a Bazaar branch
when exporting. (#5443)
OBS-URL: https://build.opensuse.org/request/show/702370
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=65
- Update to 19.0.2 (2019-02-09):
+ 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. (#6197)
* Provide a better error message if attempting an editable
install of a directory with a pyproject.toml but no setup.py.
(#6170)
* 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 setup.py,
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. (#6163)
* Allow RECORD lines with more than three elements, and display
a warning. (#6165)
* AdjacentTempDirectory fails on unwritable directory instead
of locking up the uninstall command. (#6169)
* Make failed uninstalls roll back more reliably and better at
avoiding naming conflicts. (#6194)
* Ensure the correct wheel file is copied when building PEP 517
distribution is built. (#6196)
* The Python 2 end of life warning now only shows on CPython,
which is the implementation that has announced end of life
plans. (#6207)
+ Improved Documentation
* Re-write README and documentation index (#5815)
- Update to 19.0.1 (2019-01-23):
+ Bug Fixes
OBS-URL: https://build.opensuse.org/request/show/673419
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=60
- update to 18.0
- refresh pip-8.1.2-shipped-requests-cabundle.patch
* drop python 3.3 support
* Remove the legacy format from pip list.
* Remove support for cleaning up #egg fragment postfixes
* Remove the shim for the old get-pip.py location
* Introduce a new --prefer-binary flag, to prefer older wheels
over newer source packages.
* Improve autocompletion function on file name completion
* Add support for installing PEP 518 build dependencies from source
* Improve status message when upgrade is skipped due to only-if-needed strategy
OBS-URL: https://build.opensuse.org/request/show/624890
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=54
- update to 8.1.2:
* Fix a regression on systems with uninitialized locale (:issue:`3575`).
* Use environment markers to filter packages before determining if a
required wheel is supported. Solves (:issue:`3254`).
* Make glibc parsing for `manylinux1` support more robust for the variety of
glibc versions found in the wild (:issue:`3588`).
* Update environment marker support to fully support PEP 508 and legacy
environment markers (:issue:`3624`).
* Always use debug logging to the ``--log`` file (:issue:`3351`).
* Don't attempt to wrap search results for extremely narrow terminal windows
(:issue:`3655`).
* Fix regression with non-ascii requirement files on Python 2 and add support
for encoding headers in requirement files (:issue:`3548`, :pull:`3547`).
OBS-URL: https://build.opensuse.org/request/show/395519
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=42
- update to 8.1.0:
* Implement PEP 513, which adds support for the manylinux1 platform tag,
allowing carefully compiled binary wheels to be installed on compatible Linux
platforms.
* 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).
:issue:`2989`.
* 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
(:pull:`3466`).
* 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`,
:issue:`2865`).
* Fix and deprecate package name detection from url path (:issue:`3523` and
:pull:`3495`).
* 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.
OBS-URL: https://build.opensuse.org/request/show/368988
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pip?expand=0&rev=41