PyPI Package Version Delta Monitor avatar

PyPI Package Version Delta Monitor

Pricing

from $1.00 / 1,000 new pypi package versions

Go to Apify Store
PyPI Package Version Delta Monitor

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

Collin Reynolds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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_SEEN with 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/dev and hyphenated forms)

Input

FieldRequiredDescription
packagesyesList of PyPI project names
sinceVersionnoOn first run for a package, treat this version and older (by upload time) as already seen
includePrereleasesnoInclude PEP 440 prereleases (default true)
resetStatenoClear 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

SituationDataset itemsversion-delta charges
Empty state, no sinceVersion00 (baseline only)
Empty state + sinceVersionOnly newer than that version1 per item
Later runsNew version strings only1 per item

Tips

  1. Run once to baseline, then attach a schedule (e.g. hourly/daily).
  2. Keep package lists focused — each project fetch is one HTTP GET.
  3. 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. No apify push this turn.
  • Publish-day checklist: PUT exampleRunInput from INPUT.example.json; PPE version-delta $0.001; LIMITED_PERMISSIONS; DEVELOPER_TOOLS/OPEN_SOURCE/AI; memory 512; timeout 300; smoke must show first-run 0 deltas.