A set of two command line tools to help you keep your pip-based packages
fresh, even when you've pinned them.
pip-review checks PyPI and reports available updates. It uses the list of
currently installed packages to check for updates, it does not use any
requirements.txt
Example, report-only:
$ pip-review
requests==0.13.4 available (you have 0.13.2)
redis==2.4.13 available (you have 2.4.9)
rq==0.3.2 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 available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...
redis==2.6.2 available (you have 2.4.9)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit n
rq==0.3.2 available (you have 0.3.0)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...pip-dump dumps the exact versions of installed packages in your active
environment to your requirements.txt file. If you have more than one file
matching the *requirements.txt pattern (for example dev-requirements.txt),
it will update each of them smartly.
Example:
$ cat requirements.txt
Flask
$ cat dev-requirements.txt
ipython
$ pip-dump
$ cat requirements.txt
Flask==0.9
Jinja2==2.6
Werkzeug==0.8.3
$ cat dev-requirements.txt
ipython==0.13Packages that you don't want to dump but want to have installed
locally nonetheless can be put in an optional file called .pipignore.
To install, simply use pip:
$ pip install pip-toolsDecide for yourself whether you want to install the tools system-wide, or inside a virtual env. Both are supported.
To test with your active Python version:
$ ./run-tests.shTo test under all (supported) Python versions:
$ toxThe tests run quite slow, since they actually interact with PyPI, which involves downloading packages, etc. So please be patient.


