PyPI Package Release Velocity Tracker avatar

PyPI Package Release Velocity Tracker

Pricing

Pay per usage

Go to Apify Store
PyPI Package Release Velocity Tracker

PyPI Package Release Velocity Tracker

Compare PyPI package release frequencies, version-count velocity, and maintenance recency. Python developer audience, official PyPI JSON API, no key required.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

saint person

saint person

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Compare Python package maintenance velocity across multiple PyPI packages in a single run — ranked by release frequency, maintenance recency, and total release count. Official PyPI JSON API, no API key required.

Who This Is For

  • Python developers evaluating which packages to depend on (maintenance health signals)
  • DevOps/Infra teams auditing dependency maintenance in requirements files
  • AI/ML teams tracking framework release velocity (PyTorch, TensorFlow, JAX, etc.)
  • Technical leads comparing package activity to make architectural decisions
  • Procurement/OSS due diligence — assess maintenance before corporate adoption

Key Features & Value

  • Cross-package release-velocity ranking — see which packages release most frequently, ranked
  • Multiple recency signals — releases in last year, last quarter, days since last release
  • Maintenance health labels — TORCH (highly active), BLAZING, ACTIVE, STEADY, SLOW, STALLED
  • Total release count — lifetime history for maturity assessment
  • Official PyPI JSON API — no keys, no rate limits, no scraping
  • Free-tier friendly — up to 10 results for free Apify accounts
  • PPE pricing — pay per run, not per month

Quick Start

  1. Open the Actor on Apify Store
  2. Enter comma-separated PyPI package names (up to 20)
  3. Run — results appear in seconds
  4. Read the ranked table: highest release-velocity packages first
{
"packages": "requests,flask,django,fastapi,numpy,pandas,scipy,pytest,click,rich"
}

Input Parameters

ParameterTypeDefaultDescription
packagesstringrequests,flask,django,fastapi,numpy,pandas,scipy,matplotlib,pytest,clickComma-separated PyPI package names (max 20)

Output Structure

[
{
"packageName": "fastapi",
"summary": "FastAPI framework, high performance, easy to learn, fast to code, ready for production",
"currentVersion": "0.139.2",
"totalReleases": 301,
"lastReleaseDate": "2026-07-16",
"daysSinceLastRelease": 3,
"releasesLastYear": 152,
"releasesLastQuarter": 22,
"velocityLabel": "TORCH"
},
{
"packageName": "requests",
"summary": "Python HTTP for Humans.",
"currentVersion": "2.34.2",
"totalReleases": 163,
"lastReleaseDate": "2026-05-14",
"daysSinceLastRelease": 65,
"releasesLastYear": 14,
"releasesLastQuarter": 8,
"velocityLabel": "TORCH"
}
]

Velocity Labels

LabelCriteriaMeaning
TORCH≥12 releases/year, last release ≤90 daysExtremely active maintenance
BLAZING≥6 releases/year, last release ≤180 daysHighly active maintenance
ACTIVE≥3 releases/year, last release ≤365 daysRegular maintenance
STEADY≥1 release/year, last release ≤365 daysOccasional maintenance
SLOW<1 release/year, last release <2 yearsInfrequent maintenance
STALLED≥2 years since last releaseAbandoned/unmaintained

Usage Examples

1. Compare AI/ML Framework Activity (5 packages)

{"packages": "torch,tensorflow,jax,keras,flax"}

Returns: TORCH/BLAZING labels identify the most actively developed frameworks.

2. Audit Your requirements.txt Dependencies

{"packages": "django,django-rest-framework,django-cors-headers,celery,redis,gunicorn,psycopg2-binary,sentry-sdk,whitenoise,pillow"}

Returns: STALLED/SLOW labels flag dependencies that may need replacement planning.

3. AI Agent Workflow — Dependency Health Assessment

"I'm considering adopting FastAPI for production. Check the maintenance velocity of fastapi together with uvicorn, pydantic, starlette, and httpx."

Run this actor with those 5 packages. The TORCH/BLAZING labels on all of them confirms a healthy ecosystem. An agent can then decide: High confidence — all core dependencies are actively maintained.

4. Zapier/Make/n8n Automation — Slack Alert on Stalled Dependencies

Trigger: Weekly schedule
Action: Run PyPI Release Velocity Tracker with "numpy,pandas,scikit-learn,matplotlib"
Filter: Where velocityLabel = "STALLED"
Result: Send Slack message "@channel WARNING: dependency XYZ is STALLED"

5. CI/CD Gate — Pre-Merge Dependency Check

# GitHub Actions: gate PRs that add STALLED dependencies
jobs:
dependency-audit:
runs-on: ubuntu-latest
steps:
- run: |
curl -X POST https://api.apify.com/v2/acts/saint_person/pypi-package-release-velocity-tracker/runs \
-H "Content-Type: application/json" \
-d '{"packages":"'$NEW_DEP'"}' | jq '.data[0].velocityLabel'
# Fail if label == "STALLED"

6. MCP Tool — Package Health Lookup

An MCP client can call this actor with a single package to get its full velocity profile. If velocityLabel returns STALLED, the MCP agent can recommend alternatives.

Integration Notes

PlatformHow to Integrate
ZapierWebhook trigger → Run Actor → Parse JSON → Write to Sheet/Slack
MakeApify module (Run Actor) → Router by velocityLabel → Email/Slack notification
n8nHTTP Request node → POST to Apify API → IF(velocityLabel=STALLED) → Alert
MCPStandard Apify MCP server integration — call by actor name
Codecurl -X POST https://api.apify.com/v2/acts/saint_person~pypi-package-release-velocity-tracker/runs

Pricing & Typical Cost

EventPriceCount per RunTotal
Actor Start$0.011$0.01
Package Profile$0.0035-10 packages$0.015-0.03
Total (typical)~$0.02-0.04 per run

Example: 15 packages run costs = $0.01 + (15 × $0.003) = $0.055 per run.

Free Apify plan returns up to 10 package profiles per run (free-tier cap). Paid plans unlock the full 20-package limit.

Troubleshooting

IssueCauseFix
Package not foundTypo in name or private packageCheck spelling on pypi.org
Empty resultsNo packages provided or all failedEnsure comma-separated names with no extra quotes
All results STALLEDPackage really is unmaintained for 2+ yearsConsider alternatives

Changelog

  • 2026-07-20: v1.0 — Initial release.