jazzband/pip-tools

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 7 minutes ago
Added to GitGenius on September 8th, 2026
Created on September 10th, 2012
Open Issues & Pull Requests: 176 (+0)
GitHub issues: Enabled
Number of forks: 678
Total Stargazers: 8,006 (+0)
Total Subscribers: 94 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.8 hours
Mean response time: 137.2 days
90th percentile: 364.1 days
Tracked items: 160

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 67% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "maintenance" is answered fastest, typically in under an hour, while "feature" waits about 3 weeks. Only 2% of issues opened in the past year have been closed. Three people close 86% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 52
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 946 days
Stale 30+ days: 47
Stale 90+ days: 38

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feature (25)
  • maintenance (23)
  • enhancement (20)
  • PR wanted (16)
  • bug (16)
  • needs discussion (16)
  • question (16)
  • ci (12)

Most active issues this week

Detailed Description

pip-tools is a command-line utility that compiles and synchronizes pinned Python dependencies to keep them fresh and reproducible.

The tool solves the problem of maintaining deterministic, predictable builds in production Python applications. It works by providing two complementary commands: pip-compile reads your high-level dependency declarations from pyproject.toml, setup.cfg, setup.py, or requirements.in files and resolves them into a fully pinned requirements.txt with all transitive dependencies locked to specific versions. pip-sync then installs exactly what is specified in that pinned file, ensuring your environment matches the lockfile precisely. This two-step approach separates the concerns of dependency resolution from environment synchronization.

You should adopt pip-tools if you need reproducible builds and want to pin dependencies while keeping them manageable. It suits any Python project from applications to open-source packages that want stable CI. The tool supports modern packaging standards through pyproject.toml as well as legacy setup.py and setup.cfg formats, making it applicable across different project types. It can handle optional dependency groups and respects environment markers so conditional dependencies resolve correctly for your specific Python version and platform.

The project maintains active community engagement through multiple communication channels including a Matrix room and Discord chat. Development includes consistent attention to test coverage and compatibility across Python versions. The tool integrates with pre-commit workflows, indicating ongoing consideration for developer tooling integration. Regular updates address both new packaging standards and maintenance of existing functionality across the Python ecosystem.