TL;DR: The FAF ecosystem sits at 149,405 downloads across npm, PyPI and crates.io — 595 short of 150,000, running at 684 a day. So we expect to cross on September 25, and we are saying so the day before rather than the day after. Check it against /downloads tomorrow. The number is also a floor, not a headline, and that part matters more than the milestone.

Sep 25
595 to go · 684 a day

The Prediction

150,000 expected 2026-09-25
149,405 today · 595 to go · +684/day since the 133k crossing
npm 135,347 · PyPI 12,154 · crates 1,904

the meter refreshes 09:00 UTC daily
tomorrow's refresh should read ~150,089

Every number above is fed, not typed — the same daily-refreshed file that powers the banner at the top of this site and the table on /downloads. One source, three surfaces.

A forecast is only worth reading if it can be wrong. This one is dated, the arithmetic is above it, and the number it will be checked against is public. If the 25th comes and the meter reads 149,9-something, that is on us and it stays on the page.

The Number Is a Floor

149,405 is not the biggest number we could print. It is the biggest one we can defend.

The meter counts npm and crates.io as reported, and PyPI as without_mirrors only — real installs, no mirror or bot traffic folded in. The PyPI statistics window runs about 180 days, so every package older than that is undercounted on purpose. Twenty-six packages, three registries, one hard floor.

We know what that costs, because we paid it. Until 1 August the meter counted PyPI downloads with mirrors. Then we switched it off:

2026-08-01  e67c292  hard floor meter — PyPI without_mirrors only
125,794  ->  103,813      one-time step-down
                          -21,981 downloads, written off
                          same installs, stricter meter

Twenty-two thousand downloads, gone in a commit. It cost us a milestone post too: 111,111 had already been crossed on 3 July under the old count, the correction put us back underneath it, and by the time we re-crossed honestly on 12 August, 133,000 was the nearer target. That post is archived, unshipped.

Counting mirrors would make the number bigger and make it worth less. A milestone you have to explain is not a milestone.

From 133k, 24 Days Ago

133,000 landed on August 31 — that one was +32,000 in 72 days. The 16,405 since arrived in 24.

60k  → 100k    +40,000 in 51 days    784/day
100k → 133k    +33,000 in 72 days    458/day
133k → today   +16,405 in 24 days    684/day

The middle stretch was the slow one. The pace since has not quite returned to the run into six figures, but it is close — and it came with no launch, no campaign and no marketing spend behind it.

Drawn to Scale

The same numbers as a chart, on a linear axis from zero to 150,000 with a tick every 25,000. Zero is 16 September 2025 — the day the first package went up. Hover any point for its figure and date.

Cumulative .faf downloads, June 2025 to September 2026 Flat at zero from June 2025 until the first package was published on 16 September 2025, then rising to 149,405 by 24 September 2026. A visible step down of 21,981 on 1 August 2026, when PyPI mirror traffic was removed from the count. A dashed final segment reaches 150,000, expected 25 September. Cumulative downloads · npm + PyPI + crates.io hard floor · PyPI without_mirrors only · 26 packages 0k 25k 50k 75k 100k 125k 150k Jul 2025 Nov 2025 Mar 2026 Jul 2026 first package published (claude-faf-mcp) · 16 Sep 2025 10,500 downloads · 29 Oct 2025 10.5k 20,000 downloads · 14 Jan 2026 50,134 on the meter · 1 Apr 2026 50k 100,000 downloads · 20 Jun 2026 100k 133,000 downloads · 31 Aug 2026 133k 1 Aug 2026 · hard floor locked · 125,794 to 103,813 −21,981 .faf existed. Nothing published yet. 150,000 expected 25 Sep 2026 149,405 today 150,000 expected 25 Sep
Flat until the first package went up on 16 September 2025. The cliff on 1 August is the mirror write-off. Solid to 149,405 today; the last 595 is dashed, ending in a hollow ring, because it has not happened yet.

The bumps are the point. A flat first quarter when the format existed and nobody had downloaded it. The turn in April that has not let up since. And the notch, which is the only part of this curve we put there on purpose.

Move the Number

Every install is one less to go, and 595 is a small enough gap that readers of this post could move it themselves. Watch the banner at the top of this page tick over — then check /downloads on the 25th and see whether we called it.