Watching the AI boom in 150 billion PyPI downloads

Seven and a half years of Python package-install data for 42 AI packages (plus 4 baselines), monthly from January 2019 to June 2026. Every narrated paragraph on this page was written by an LLM at build time from the same data the charts draw — this site is static files.

Every time someone runs pip install, PyPI writes it down. Add those lines up — month by month, package by package, from January 2019 to June 2026 — and you get a seismograph of the AI boom. What it actually recorded — where the line bends, who leads the framework war, how much of it is even human — is not for me to tell you: on this page, the data speaks for itself, narrated by a model reading the same query results the charts draw.

The paragraphs marked with a small ✦ below were written by an LLM at build time, from the same query results the charts draw. Nothing on this page talks to a server: the analysis is baked into static JSON, the charts are baked query snapshots, and the whole site is one Markdown file rendered by Dashdown. See the methodology for sources and honest caveats.

Downloads replayed since 2019 (46 pkgs)
…of which AI packages
AI installs, latest month

1 · The seismograph #

Forty-two AI packages — LLM SDKs, agent frameworks, vector databases, and training/serving infrastructure — summed into one monthly line, stacked by category. This is the whole story in a single chart; everything below is zooming in.

2 · The framework war #

The orchestration frameworks (LangChain, LangGraph, LlamaIndex) against the raw provider SDKs (OpenAI, Anthropic) — plus LiteLLM, the router that translates between them. Who rose, who plateaued, and who actually leads at the end is the model's call, below.

3 · The compute tell #

SDK downloads tell you who is calling models. Infrastructure downloads — PyTorch, Transformers, vLLM, Accelerate, PEFT — tell you who is running them. The gap between the two is the API economy, measured in installs.

4 · Most of these downloads are robots #

Time for the honest part. A PyPI "download" is an HTTP request for a package file — it can come from a human at a laptop, a CI pipeline reinstalling the world on every commit, a Docker build, a lockfile resolver, or a cloud region warming its cache. The public stats can't cleanly separate them, and this dataset (monthly top-N snapshots — see methodology) carries no installer breakdown at all. So instead of pretending otherwise, calibrate: the latest month's AI packages next to the workhorse baselines, and the model's read on what that comparison does to the word "download".

5 · Hype vs. usage #

GitHub stars are applause; pip install is attendance. Below: the star curves of the era's most-hyped repositories, then each repo's stars paired with what its Python package actually does on PyPI in the latest month. Whether applause and attendance agree — and where they diverge most — is the model's verdict. (Star history covers each repo only while it sits in a GitHub top-100 list; that's exactly the population hype is about.)

6 · The AI's read on the data #

Questions you're probably asking → each answered once, at build time, by the model reading the actual query results. These are pinned by the author; there is no prompt box, no server, and no per-view LLM cost — what you read is a frozen JSON file.

When did the boom actually start?
Which category is winning?
Did LangChain win?
Is anyone actually training models?
Which project is most hyped relative to its installs?
How big is this, really?

Fine print. Downloads count all traffic the public stats count — humans, CI, containers, and some mirrors; monthly figures for a package appear only while it ranks in the public top-N snapshot (so early, tiny months are absent, not zero). Sources, scripts, and every caveat: methodology. Built with Dashdown — the page you're reading is one Markdown file.

Generated · built in 43.8s