bndr/pipreqs

pipreqs - Generate pip requirements.txt file based on imports of any project. Looking for maintainers to move this project forward.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 37 minutes ago
Added to GitGenius on September 8th, 2026
Created on April 22nd, 2015
Open Issues & Pull Requests: 245 (+0)
GitHub issues: Enabled
Number of forks: 422
Total Stargazers: 7,464 (+0)
Total Subscribers: 55 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 48
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 955 days
Stale 30+ days: 46
Stale 90+ days: 44

Recent activity

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

Top labels

  • bug (2)
  • good first issue (2)
  • help wanted (2)
  • mapping (2)

Detailed Description

pipreqs is a command-line tool that generates a requirements.txt file by analyzing the actual imports in a Python project rather than scanning installed packages.

The tool solves the problem of creating accurate dependency lists without needing a pre-configured environment or manual tracking. It works by scanning Python source files in a project directory, extracting import statements, and querying PyPI to determine the correct package names and versions. This approach differs fundamentally from pip freeze, which captures all installed packages regardless of whether they are actually used in the project. pipreqs identifies only the dependencies that the code explicitly imports, making it particularly useful for new projects or when working across different environments.

The tool suits developers who need to quickly generate requirements files without setting up a virtual environment first, or who want to clean up bloated dependency lists. It handles standard Python files and can optionally scan Jupyter notebooks. The project offers flexibility through options like custom PyPI servers, proxy support, different versioning schemes (compatible release, greater-than-or-equal, or unpinned), and the ability to compare or clean existing requirements files. For teams concerned about dependency bloat, the diff and clean modes help identify unused packages already listed in requirements.txt.

The project is actively maintained with automated test coverage and CI workflows in place. Development appears to have stabilized around core functionality rather than pursuing rapid feature expansion. The maintainers have explicitly indicated they are seeking additional contributors to move the project forward.