Skip to main content

🔍 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.txt files, GitHub info may return N/A due to rate limiting.
  • Vulnerability data is sourced from OSV — coverage varies by package.

License

MIT © Prabanjan R

Metadata

Release files for pipulse 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pipulse 0.1.0
File Size Uploaded Provenance Actions
pipulse-0.1.0.tar.gz 12.7 kB Without provenance Details for pipulse-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pipulse 0.1.0
File Interpreter ABI Platform Actions
pipulse-0.1.0-py3-none-any.whl Python 3 none any Details for pipulse-0.1.0-py3-none-any.whl

Total release size: 26.6 kB

Release files / pipulse-0.1.0.tar.gz

Download URL pipulse-0.1.0.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d19e23475cd283d7bc2667209b4db8d7478337eef7ca6f5e127533bdd06c78b6
BLAKE2b-256 checksum
How to use checksums
156df8e5e48d08677e0bee2b69d470bcb374fb0f0fda9d2f78805e827f4e9acb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / pipulse-0.1.0-py3-none-any.whl

Download URL pipulse-0.1.0-py3-none-any.whl
Size 13.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a97604bc40b93bbe68c4f13bfc198fb0a61314ba72bbdc0f9d05753a87da8ad8
BLAKE2b-256 checksum
How to use checksums
102a541c468cf128e846985af2b99dedcc96f6ee568bfd9872dba9f4cc67296c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Security for pipulse 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page