Skip to content

rbanffy/pip-chill

Repository files navigation

PIP Chill - Make requirements with only the packages you need

Documentation Status Updates Codacy Badge

Like pip freeze but lists only the packages that are not dependencies of installed packages.

Features

Generates a requirements file without any packages that depend on other packages in the file.

How it works

Usage

Suppose you have installed in your virtualenv a couple packages. When you run pip freeze, you'll get a list of all packages installed, with all dependencies. If one of the packages you installed ceases to depend on an already installed package, you have to manually remove it from the list. The list also makes no distinction about the packages you actually care about and packages your packages care about, making the requirements file bloated and, ultimately, inaccurate.

On your terminal, run:

$ pip-chill
bandit==1.7.0
bumpversion==0.6.0
click==7.1.2
coverage==5.3.1
flake8==3.8.4
nose==1.3.7
pip-chill==1.0.1
pytest==6.2.1
...

Or, if you want it without version numbers:

$ pip-chill --no-version
bandit
bumpversion
click
coverage
flake8
nose
pip-chill
pytest
...

Or, if you want it without pip-chill:

$ pip-chill --no-chill
bandit==1.7.0
bumpversion==0.6.0
click==7.1.2
coverage==5.3.1
flake8==3.8.4
nose==1.3.7
pytest==6.2.1
...

Or, if you want to list package dependencies too:

$ pip-chill -v
bandit==1.7.0
bumpversion==0.6.0
click==7.1.2
coverage==5.3.1
flake8==3.8.4
nose==1.3.7
pip-chill==1.0.1
pytest==6.2.1
sphinx==3.4.3
tox==3.21.1
twine==3.3.0
watchdog==1.0.2
# alabaster==0.7.12 # Installed as dependency for sphinx
# appdirs==1.4.4 # Installed as dependency for virtualenv
# attrs==20.3.0 # Installed as dependency for pytest
# babel==2.9.0 # Installed as dependency for sphinx
# bleach==3.2.1 # Installed as dependency for readme-renderer
# bump2version==1.0.1 # Installed as dependency for bumpversion
# certifi==2020.12.5 # Installed as dependency for requests
# chardet==4.0.0 # Installed as dependency for requests
# colorama==0.4.4 # Installed as dependency for twine
# distlib==0.3.1 # Installed as dependency for virtualenv
# docutils==0.16 # Installed as dependency for readme-renderer, sphinx
# filelock==3.0.12 # Installed as dependency for tox, virtualenv
# gitdb==4.0.5 # Installed as dependency for gitpython
...

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.