pip-tools
pip-tools is a set of CLI tools that generate and apply fully pinned package requirement files for Python projects using pip.
Installation and Setup
Install it from PyPI:
Key Features
- Compiles fully pinned
requirements.txtfiles fromrequirements.inand can also compile from modern project metadata likepyproject.toml, including extras through--extra. - Resolves dependencies using
piptooling and generates hash-pinned outputs with--generate-hasheswhen you want stricter verification. - Controls upgrades with
--upgradefor everything and--upgrade-packagefor targeted packages. - Syncs an environment to match the compiled files and removes extraneous packages with
pip-sync. - Supports project defaults via
.pip-tools.tomlorpyproject.tomlconfiguration under[tool.pip-tools].
Usage
Create an input file that lists only your direct dependencies:
requirements.in
flask
requests
Compile a fully pinned requirements.txt file:
$ pip-compile
Install exactly what is in requirements.txt in other system or environment:
$ pip-sync
Upgrade everything to the latest compatible versions:
$ pip-compile --upgrade
$ pip-sync
Upgrade selected packages only:
$ pip-compile --upgrade-package requests
$ pip-sync
Compile from pyproject.toml and include an extra:
$ pip-compile pyproject.toml --extra dev
Related Resources
Tutorial
Using Python's pip to Manage Your Projects' Dependencies
What is pip? Learn how to use pip, Python's standard package manager, to install and manage packages that aren't part of the standard library.
For additional information on related topics, take a look at the following resources:
Have a question about this? Mentor AI can show you examples, compare related terms, and point you to tutorials.
By Leodanis Pozo Ramos • Updated Oct. 31, 2026