Pip-Tools

A set of tools to keep your pinned Python dependencies fresh.

https://github.com/jazzband/pip-tools

  • You care about your application's direct dependencies
  • You want to pin versions of all depencies for reproducible development
  • You want to keep depencies up-to-date

Installing

pip install pip-tools

Two commands:

pip-compile

pip-sync

Pip-compile

  • Runs against:
    • package setup.py
    • requirements.in
  • Finds dependencies
  • Outputs requirements.txt contents

Pip-sync

  • Ensure virtualenv packages match dependencies exactly
  • Can accept multiple arguments (requirements.txt, dev-requirements.txt, etc.)


In [13]:
!cat requirements.in


flask>0.10
flask-sqlalchemy

In [14]:
!pip-compile requirements.in


#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile --output-file requirements.txt requirements.in
#
click==6.7                # via flask
flask-sqlalchemy==2.2
flask==0.12.2
itsdangerous==0.24        # via flask
jinja2==2.9.6             # via flask
markupsafe==1.0           # via jinja2
sqlalchemy==1.1.10        # via flask-sqlalchemy
werkzeug==0.12.2          # via flask

https://github.com/pypa/pipfile


In [ ]: