pip-tools
also: pip-compile, pip-sync
pip-tools is a set of command-line utilities for managing Python package dependencies by maintaining explicit, reproducible requirements files with pinned versions.
pip-tools helps Python developers create stable, repeatable deployments by compiling abstract dependency requirements into concrete, pinned version lists. It includes two main commands: pip-compile to generate locked requirements files from a source file, and pip-sync to install exactly what those files specify.
For example, you might write a simple requirements.in file listing django==4.2, then run pip-compile requirements.in to generate requirements.txt with all transitive dependencies and their exact versions. This ensures every developer and deployment uses identical packages.
It's particularly useful in teams and CI/CD pipelines where reproducibility matters. pip-sync then installs only what's in the compiled file, removing unneeded packages and updating others to exact versions—avoiding drift between environments.