Skip to main content

pip-review lets you smoothly manage all available PyPI updates.

Project description

Build status

pip-review

Looking for a new maintainer! See https://github.com/jgonggrijp/pip-review/issues/76.

pip-review is a convenience wrapper around pip. It can list available updates by deferring to pip list --outdated. It can also automatically or interactively install available updates for you by deferring to pip install.

Example, report-only:

$ pip-review
requests==0.13.4 is available (you have 0.13.2)
redis==2.4.13 is available (you have 2.4.9)
rq==0.3.2 is available (you have 0.3.0)

Example, actually install everything:

$ pip-review --auto
... <pip install output>

Example, run interactively, ask to upgrade for each package:

$ pip-review --interactive
requests==0.14.0 is available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...
redis==2.6.2 is available (you have 2.4.9)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit n
rq==0.3.2 is available (you have 0.3.0)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...

Run pip-review -h for a complete overview of the options.

Note: If you want to pin specific packages to prevent them from automatically being upgraded, you can use a constraint file (similar to requirements.txt):

$ export PIP_CONSTRAINT="${HOME}/constraints.txt
$ cat $PIP_CONSTRAINT
pyarrow==0.14.1
pandas<0.24.0

$ pip-review --auto
...

Set this variable in .bashrc or .zshenv to make it persistent. Alternatively, this option can be specified in pip.conf, e.g.:

  • Linux:

$ cat ~/.config/pip/pip.conf
[global]
constraint = /home/username/constraints.txt
  • Windows:

$ cat $HOME\AppData\Roaming\pip\pip.ini
[global]
constraint = '$HOME\Roaming\pip\constraints.txt'

The conf file are dependent of the user, so If you use multiple users you must define config file for each of them. https://pip.pypa.io/en/stable/user_guide/#constraints-files

Since version 0.5, you can also invoke pip-review as python -m pip_review. This can be useful if you are using multiple versions of Python next to each other.

Before version 1.0, pip-review had its own logic for finding package updates instead of relying on pip list --outdated.

Like pip, pip-review updates all packages, including pip and pip-review.

Installation

To install, simply use pip:

$ pip install pip-review

Decide for yourself whether you want to install the tool system-wide, or inside a virtual env. Both are supported.

Testing

To test with your active Python version:

$ ./run-tests.sh

To test under all (supported) Python versions:

$ tox

The tests run quite slow, since they actually interact with PyPI, which involves downloading packages, etc. So please be patient.

Origins

pip-review was originally part of pip-tools but has been discontinued as such. See Pin Your Packages by Vincent Driessen for the original introduction. Since there are still use cases, the tool now lives on as a separate package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip-review-1.3.0.tar.gz (6.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page