Module Counts

  • Include
  • Bower (JS)
  • Clojars (Clojure)
  • CPAN
  • CPAN (search)
  • CRAN (R)
  • Crates.io (Rust)
  • GoDoc (Go)
  • Hackage (Haskell)
  • Hex.pm (Elixir/Erlang)
  • Maven Central (Java)
  • MELPA (Emacs)
  • npm (node.js)
  • nuget (.NET)
  • Packagist (PHP)
  • Pear (PHP)
  • PyPI
  • Rubygems.org
  • time period
  • all time
  • last year
  • last 90 days
  • last 30 days
  • last 7 days
Dec 14 Dec 15 Dec 16 Dec 17 Dec 18 Dec 19 Dec 20 Avg Growth
Bower (JS) 23974 24010 24067 24136 24205 24281 24330 54/day
Clojars (Clojure) 11102 11113 11127 11136 11145 11159 11164 9/day
CPAN 30935 30950 30952 30950 30962 30966 30972 5/day
CPAN (search) 30936 30950 30952 30952 30962 30967 30972 5/day
CRAN (R) 6107 6106 6113 6121 6124 6126 6126 3/day
Crates.io (Rust) 535 542 549 559 575 581 591 10/day
GoDoc (Go) 42051 42247 42351 42486 42702 42825 42910 134/day
Hackage (Haskell) 7398 7406 7408 7412 7423 7430 7436 6/day
Hex.pm (Elixir/Erlang) 342 344 344 346 346 346 347 1/day
Maven Central (Java) 93101 93143 93199 93276 93468 93558 93595 74/day
MELPA (Emacs) 2169 2175 2178 2179 2182 2183 2186 3/day
npm (node.js) 0 0 0 0 0 0 0 0/day
nuget (.NET) 30089 30107 30129 30167 30205 30242 30273 28/day
Packagist (PHP) 45210 45276 45383 45485 45599 45697 45757 86/day
Pear (PHP) 599 599 599 599 599 599 599 0/day
PyPI 52787 52834 52911 52947 53004 53055 53092 48/day
Rubygems.org 93233 93270 93332 93388 93449 93491 93539 49/day

Data is collected by scraping the relevant websites once a day via a cron job and then stored in a Postgresql database for later retrieval. Growth rates are calculated by averaging data over the last week. I'm gathering counts of separate modules, so multiple versions of the same module/package/gem only count once (foo-1.2, foo-1.3 and bar-1.0 would count as 2 total).

(Feb 2, 2014) Upgraded off the free database plan. The database had outgrown Heroku's 100% free tier. It still qualifies for the hobby level, though. Also added the Melpa (Emacs) repository, and update the Hackage (Haskell) repository to use a different and hopefully more reliable data source.

(Mar 30, 2013) Several folks asked me to add Maven Central. It's a really big Java module repository. I look forward to seeing how fast it's growing. For now, this is the first time we've had a change in the top spot since Rubygems.org passed up CPAN in early 2011.

(Feb 28, 2013) Markus Fischer pointed out that there's a much bigger and better PHP package archive called Packagist. It's been added to the list. They have an awesome statistics page.

Several other folks reported issues with IE compatibility, CSV downloads and chart layout. Hopefully those are all fixed now.

I just (Nov 25, 2012) added the Clojars repository. Much thanks to Jonas Clasen for pointing it out to me.

Much thanks to W Watson for pointing out the nuget (.NET) package repository. I'd like to add more repositories. If you have suggestions, please send them to erik@debill.org.

CPAN and CPAN (search) used to be two conflicting sources for data about how many modules are in CPAN. During spring of 2011 CPAN got a site refresh and the numbers came into line with each other. It looks funny on the graph, but it's an interesting bit of history.

If you'd like to check out the data in more detail, you are welcome to download it in a CSV file.