Do developer-adoption signals lead revenue?
This site tracks how fast developers and companies adopt AI and data-infrastructure tools, using free public data: package downloads, Ask HN: Who is hiring? job posts and GitHub. It then tests whether those signals lead reported revenue at six public data-infrastructure companies (SNOW, DDOG, MDB, CFLT, ESTC, NET).
What moved this week
Week ending 2026-11-01. Each package's last complete week vs. the week before, vs. the average of the 4 weeks before, and vs. a year earlier. “vs baseline” divides a package's YoY growth by that of a basket of mature packages on the same registry (react, lodash, express… / requests, numpy…), because every package's raw download count inflated in 2026 (CI, bots and AI coding agents).
Week ending 2026-11-01
- Week ending 2026-11-01: vLLM (PyPI) led week-over-week growth at +32.5%, and was +45.7% against its prior 4-week average, on 695,150 downloads.
- LlamaIndex (PyPI) fell 5.0% week-over-week and 31.6% versus its prior 4-week average, the main decline in the PyPI set.
- Most other PyPI packages rose modestly week-over-week (roughly +3% to +15%), including Transformers, the Google Gen AI SDK, and OpenAI.
- On npm, the YoY baseline-adjusted figures are positive for Hugging Face Transformers (+802.0%), Mistral AI (+649.7%), Anthropic (+590.6%), and Wrangler (+449.0%), while MongoDB and Elastic are negative (-24.0% and -26.9%). Week-over-week data is blank due to registry outages.
- Weekly download counts are noisy (CI bots, holidays), so single-week moves should be read cautiously.
Written automatically by Claude Haiku from the table below. It describes the data only and is not investment advice.
| Tool | Reg. | Package | Last wk | WoW | vs 4 wks | YoY | YoY vs base | HN share |
|---|---|---|---|---|---|---|---|---|
| vLLM | pypi | vllm | 695.1k | +32.5% | +45.7% | – | – | 0.00% |
| LlamaIndex | pypi | llama-index | 413.4k | -5.0% | -31.6% | – | – | 0.00% |
| Hugging Face Transformers | pypi | transformers | 29.2M | +13.5% | +16.7% | – | – | 0.54% |
| Google Gen AI SDK | pypi | google-generativeai | 2.3M | +15.0% | +15.3% | – | – | 1.62% |
| Datadog | pypi | ddtrace | 11.3M | +7.5% | +13.0% | – | – | 0.54% |
| Anthropic | pypi | anthropic | 47.5M | +6.0% | +12.4% | – | – | 5.41% |
| OpenAI | pypi | openai | 86.5M | +3.2% | +9.8% | – | – | 2.70% |
| MongoDB | pypi | pymongo | 17.3M | +6.6% | +7.8% | – | – | 1.08% |
| LlamaIndex | pypi | llama-index-core | 1.4M | +2.7% | -7.5% | – | – | 0.00% |
| Mistral AI | pypi | mistralai | 3.1M | -14.2% | -7.2% | – | – | 0.00% |
| Google Gen AI SDK | pypi | google-genai | 38.1M | +0.1% | +6.8% | – | – | 1.62% |
| Datadog | pypi | datadog | 13.1M | +2.2% | +6.3% | – | – | 0.54% |
| Confluent | pypi | confluent-kafka | 10.8M | +2.3% | +5.7% | – | – | 1.62% |
| Ollama | pypi | ollama | 3.0M | +7.3% | -5.2% | – | – | 0.00% |
| Elastic | pypi | elasticsearch | 8.4M | +0.8% | +4.7% | – | – | 1.08% |
| LangChain | pypi | langchain-core | 37.1M | +0.3% | +4.1% | – | – | 1.08% |
| Snowflake | pypi | snowflake-connector-python | 25.5M | +0.9% | +3.3% | – | – | 3.24% |
| LangChain | pypi | langchain | 36.8M | -1.9% | -2.6% | – | – | 1.08% |
| Databricks | pypi | databricks-sdk | 19.9M | +3.2% | +1.4% | – | – | 1.08% |
| Databricks | pypi | databricks-sql-connector | 8.8M | +1.7% | -0.4% | – | – | 1.08% |
| Anthropic | npm | @anthropic-ai/sdk | 63.6M | – | – | +2191% | +591% | 5.41% |
| Confluent | npm | @confluentinc/kafka-javascript | 1.3M | – | – | +880% | +195% | 1.62% |
| Elastic | npm | @elastic/elasticsearch | 3.4M | – | – | +143% | -27% | 1.08% |
| Google Gen AI SDK | npm | @google/genai | 29.7M | – | – | +1506% | +384% | 1.62% |
| Google Gen AI SDK | npm | @google/generative-ai | 4.8M | – | – | +302% | +21% | 1.62% |
| Hugging Face Transformers | npm | @huggingface/transformers | 5.0M | – | – | +2893% | +802% | 0.54% |
| LangChain | npm | @langchain/core | 8.2M | – | – | +345% | +34% | 1.08% |
| Mistral AI | npm | @mistralai/mistralai | 6.5M | – | – | +2388% | +650% | 0.00% |
| Hugging Face Transformers | npm | @xenova/transformers | 618.3k | – | – | +279% | +14% | 0.54% |
| Vercel AI SDK | npm | ai | 42.6M | – | – | +920% | +208% | – |
| Datadog | npm | dd-trace | 14.7M | – | – | +241% | +3% | 0.54% |
| LangChain | npm | langchain | 4.1M | – | – | +229% | -1% | 1.08% |
| LlamaIndex | npm | llamaindex | 168.3k | – | – | +281% | +15% | 0.00% |
| MongoDB | npm | mongodb | 21.0M | – | – | +152% | -24% | 1.08% |
| Ollama | npm | ollama | 1.1M | – | – | +220% | -4% | 0.00% |
| OpenAI | npm | openai | 55.4M | – | – | +627% | +119% | 2.70% |
| Snowflake | npm | snowflake-sdk | 3.6M | – | – | +259% | +8% | 3.24% |
| Cloudflare | npm | wrangler | 38.9M | – | – | +1722% | +449% | 0.54% |
Click a column header to sort. Single-week download moves are noisy (CI pipelines, holidays, registry outages; npm returned zeros for every package on 14 days, which are filled in from the same weekday). Treat them as prompts to look, not signals.