- Last 7 days
- 18,260
- Since first release
- 54,500
- Including mirrors
- 93,039
- Packages
- 12
Every package, both registries.
Every published Cendor package on PyPI and npm — the seven libraries, the SDK, and the dev tooling — recorded daily and broken down per package. How these are counted →
- Last 7 days
- 20,050
- Since first release
- 44,006
- Packages
- 11
Downloads per day
Two registries, one scale. Hover for a day's numbers.
Complete through 2026-07-28 · both registries publish a once-a-day aggregate roughly 24 hours behind. Recording began 2026-07-01.
By product
One brand, two doors — the libraries you plug in under your framework, and the SDK built on them. Dev tooling versions on its own cadence and is optional.
| Product | PyPI · 30d | PyPI · total | npm · 30d | npm · total |
|---|---|---|---|---|
| Libraries (opens in a new tab)seven libraries + the umbrella and alias packages | 46,556 | 46,556 | 35,101 | 35,101 |
| SDK (opens in a new tab)the governed agent loop | 6,262 | 6,262 | 6,734 | 6,734 |
| Dev tooling (opens in a new tab)the MCP docs server + the init scaffolder | 1,682 | 1,682 | 2,171 | 2,171 |
"Share" is each product's proportion of all Cendor downloads — a relative weight, not a total.
Python — cendor-* on PyPI
Mirror-excluded unless a column says otherwise — "Raw" is the unfiltered count and "Mirrors" the share of it that came from index mirrors. Every row links to the package and to its own chart on pypistats.org (opens in a new tab).
TypeScript — @cendor/* on npm
npm publishes one number per package — the same basis npmjs.com (opens in a new tab) shows on every package page.
| Package | 7d | 30d | Total | Source |
|---|---|---|---|---|
| @cendor/core (opens in a new tab) | 3,674 | 6,651 | 6,651 | npm-stat ↗ (opens in a new tab) |
| @cendor/tokenguard (opens in a new tab) | 2,007 | 4,574 | 4,574 | npm-stat ↗ (opens in a new tab) |
| @cendor/guardrails (opens in a new tab) | 1,877 | 3,886 | 3,886 | npm-stat ↗ (opens in a new tab) |
| @cendor/contextkit (opens in a new tab) | 1,818 | 3,440 | 3,440 | npm-stat ↗ (opens in a new tab) |
| @cendor/squeeze (opens in a new tab) | 1,825 | 3,530 | 3,530 | npm-stat ↗ (opens in a new tab) |
| @cendor/cassette (opens in a new tab) | 1,821 | 4,078 | 4,078 | npm-stat ↗ (opens in a new tab) |
| @cendor/acttrace (opens in a new tab) | 2,364 | 5,783 | 5,783 | npm-stat ↗ (opens in a new tab) |
| @cendor/libs (opens in a new tab) | 1,311 | 3,159 | 3,159 | npm-stat ↗ (opens in a new tab) |
| @cendor/sdk (opens in a new tab) | 2,781 | 6,734 | 6,734 | npm-stat ↗ (opens in a new tab) |
| @cendor/mcp (opens in a new tab) | 301 | 1,180 | 1,180 | npm-stat ↗ (opens in a new tab) |
| @cendor/init (opens in a new tab) | 271 | 991 | 991 | npm-stat ↗ (opens in a new tab) |
| All TypeScript packages | 20,050 | 44,006 | 44,006 |
How these are counted
Sources
PyPI figures come from pypistats.org (opens in a new tab), which reports PyPI's own CDN logs split into with_mirrors and without_mirrors; we show the mirrors-excluded number. npm figures come from api.npmjs.org/downloads (opens in a new tab), the same source behind the weekly count on every npmjs.com (opens in a new tab) package page. npm offers no equivalent split, so the two registries are reported side by side rather than combined. Both APIs are public and unauthenticated — anyone can reproduce every number on this page.
Recorded, not fetched live
A job appends each new day to a committed ledger in this site's repository, so the history is auditable in git. This is not an optimisation: pypistats keeps a rolling 181 days and then drops the oldest day permanently, and PyPI publishes no lifetime total — a day not recorded is gone. Nothing is fetched when you load this page, and no request leaves your browser.
Windows
Every window ends on 2026-07-28, the last day complete in both registries, so the Python and TypeScript columns always cover identical calendar days. "30d" is the 30 days ending there; "7d" the 7 days ending there.
Cendor Monitor
The optional self-hosted container is ghcr.io/cendorhq/cendor-monitor. GitHub publishes no pull count for container packages, so there is no figure to report and we do not estimate one. What the monitor is → (opens in a new tab)
Ledger last refreshed 2026-07-29. Versions shown are the published releases from /releases (opens in a new tab); the machine-readable feed is /releases.json (opens in a new tab).