Python Dependency Health Analyzer
Project description
๐ PiPulse
Python Dependency Health Analyzer โ scan your requirements.txt and get a full health report on every package: vulnerabilities, version status, GitHub activity, and an overall health score.
pipulse scan requirements.txt
Features
- Vulnerability scanning via the OSV database
- Version check โ see which packages are outdated, up-to-date, or ahead
- GitHub activity โ ACTIVE / STALE / ABANDONED based on last commit
- Health score โ 0โ100 score per package and an overall project score
- Three output formats โ rich terminal table, HTML report, JSON report
- Handles unpinned packages gracefully
Installation
pip install pipulse
Requires Python 3.9+
Usage
Terminal output
pipulse scan requirements.txt
Generate HTML report
pipulse scan requirements.txt --html
# saves to report.html
pipulse scan requirements.txt --html my_report.html
# saves to custom filename
Generate JSON report
pipulse scan requirements.txt --json
# saves to report.json
pipulse scan requirements.txt --json audit.json
Both at once
pipulse scan requirements.txt --html --json
Example Output
PiPulse Report
โโโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโโโฌโโโโโโโโฌโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโ
โ Package โ Current โ Latest โ Status โ Vulns โ Stars โ Activity โ Health โ
โโโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโผโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโค
โ requests โ 2.28.0 โ 2.31.0 โ Outdated โ 2 โ 51k โ ACTIVE โ 70 โ
โ flask โ 3.0.0 โ 3.0.0 โ Up-to-Date โ 0 โ 67k โ ACTIVE โ 100 โ
โ pyjwt โ 1.7.1 โ 2.8.0 โ Outdated โ 3 โ 5k โ ACTIVE โ 55 โ
โโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโดโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโ
Project PiPulse Score: 75/100
Health Score
Each package gets a score from 0 to 100 based on:
| Factor | Impact |
|---|---|
| Each vulnerability found | โ5 |
| Package is outdated | โ15 |
| Repository is stale (90โ365 days) | โ10 |
| Repository is abandoned (365+ days) | โ30 |
| 10k+ GitHub stars | +5 |
| 50k+ GitHub stars | +10 |
The project score is the average across all scanned packages.
Requirements File Format
Standard requirements.txt format is supported:
requests==2.31.0
flask>=3.0.0
packaging
Unpinned packages (no version specified) are flagged and skipped for vulnerability checks.
Limitations
- GitHub data uses the unauthenticated API (60 requests/hour). For large
requirements.txtfiles, GitHub info may returnN/Adue to rate limiting. - Vulnerability data is sourced from OSV โ coverage varies by package.
License
MIT ยฉ Prabanjan R
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pipulse-0.1.0.tar.gz.
File metadata
- Download URL: pipulse-0.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d19e23475cd283d7bc2667209b4db8d7478337eef7ca6f5e127533bdd06c78b6
|
|
| MD5 |
72709f4aed2ca77e01e3fa5dcf74152f
|
|
| BLAKE2b-256 |
156df8e5e48d08677e0bee2b69d470bcb374fb0f0fda9d2f78805e827f4e9acb
|
File details
Details for the file pipulse-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pipulse-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a97604bc40b93bbe68c4f13bfc198fb0a61314ba72bbdc0f9d05753a87da8ad8
|
|
| MD5 |
ae66f08c96a4bb012139309e62b5c91d
|
|
| BLAKE2b-256 |
102a541c468cf128e846985af2b99dedcc96f6ee568bfd9872dba9f4cc67296c
|