PyPI Package Version Delta Monitor
Pricing
from $1.00 / 1,000 new pypi package versions
PyPI Package Version Delta Monitor
Monitors public PyPI packages for new versions via the official JSON API and emits only deltas. First run baselines without charging. PPE event: version-delta.
Pricing
from $1.00 / 1,000 new pypi package versions
Rating
0.0
(0)
Developer
Collin Reynolds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Watch public PyPI packages for new versions via the official JSON API (pypi.org/pypi/{package}/json). Only deltas since the last run are written to the dataset — ideal for dependency monitoring, SBOM/ops agents, and scheduled changelogs.
Pricing (pay per event): $0.001 per version-delta (each newly detected package version). Actor start is a small platform event (~$0.00005). First run baselines quietly (0 dataset items / 0 delta charges) so you are not billed for history.
Status: Store-ready locally — NOT published. Real exampleRunInput (requests/httpx/pydantic — not helloWorld); dataset uses package_description (not reserved description/title); silent-baseline tests green. Do not apify push / isPublic until parent clears the publication window.
Why use this
- API-only — official PyPI project JSON (no HTML scraping)
- Delta-only — subsequent runs emit new versions only
- First-run safe — empty state seeds
LAST_SEENwith zero PPE delta charges - No auth required for public packages
- Schedule-friendly — pair with an Apify schedule for continuous monitoring
- PEP 440 prereleases detectable (
a/b/rc/devand hyphenated forms)
Input
| Field | Required | Description |
|---|---|---|
packages | yes | List of PyPI project names |
sinceVersion | no | On first run for a package, treat this version and older (by upload time) as already seen |
includePrereleases | no | Include PEP 440 prereleases (default true) |
resetState | no | Clear LAST_SEEN and re-baseline (0 emits that run) |
Example / exampleRunInput (not helloWorld)
Canonical: ./INPUT.example.json (= .actor/example_run_input.json).
{"packages": ["requests", "httpx", "pydantic"],"includePrereleases": true,"resetState": false}
Output
Each dataset item is a newly detected version, for example:
package,version,published_at,package_description,is_prerelease,is_latest,registry_url,tarball_url
First-run behavior
| Situation | Dataset items | version-delta charges |
|---|---|---|
Empty state, no sinceVersion | 0 | 0 (baseline only) |
Empty state + sinceVersion | Only newer than that version | 1 per item |
| Later runs | New version strings only | 1 per item |
Tips
- Run once to baseline, then attach a schedule (e.g. hourly/daily).
- Keep package lists focused — each project fetch is one HTTP GET.
- Set a user max total charge on the run so costs stay predictable.
ToS / scope
Uses the public PyPI JSON API only. See ./AGREEMENT.md. Respect PyPI / Warehouse terms and fair use.
Store / Console
- Store-ready locally — NOT published. No Actor id. No
isPublic. Noapify pushthis turn. - Publish-day checklist: PUT
exampleRunInputfromINPUT.example.json; PPEversion-delta$0.001; LIMITED_PERMISSIONS; DEVELOPER_TOOLS/OPEN_SOURCE/AI; memory 512; timeout 300; smoke must show first-run 0 deltas.