Module Counts

  • Include
  • Bower (JS)
  • Clojars (Clojure)
  • CPAN
  • CPAN (search)
  • CRAN (R)
  • Crates.io (Rust)
  • GoDoc (Go)
  • Hackage (Haskell)
  • Hex.pm (Elixir/Erlang)
  • LuaRocks (Lua)
  • 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
Jul 1 Jul 2 Jul 3 Jul 4 Jul 5 Jul 6 Jul 7 Avg Growth
Bower (JS) 35871 35930 35998 36074 36101 36139 36204 56/day
Clojars (Clojure) 12992 13003 13013 13018 13032 13045 13057 10/day
CPAN 32052 32055 32059 32067 32071 32086 32093 7/day
CPAN (search) 32052 32055 32059 32067 32071 32086 32094 7/day
CRAN (R) 6784 6793 6789 6795 6797 6798 6802 -2/day
Crates.io (Rust) 2471 2476 2482 2485 2494 2502 2511 7/day
GoDoc (Go) 75360 75484 75619 75735 75856 75975 76093 124/day
Hackage (Haskell) 8383 8386 8389 8391 8395 8398 8404 4/day
Hex.pm (Elixir/Erlang) 2/day
LuaRocks (Lua) 769 769 770 770 771 767 768 0/day
Maven Central (Java) 110182 110309 110384 110427 110474 110511 110576 73/day
MELPA (Emacs) 2555 2553 2555 2557 2558 2559 2559 1/day
npm (node.js) 161055 161311 161630 161894 162104 162394 162788 296/day
nuget (.NET) 38658 38713 38854 38886 38905 38958 39005 64/day
Packagist (PHP) 87/day
Pear (PHP) 600 600 600 600 600 600 600 0/day
PyPI 62189 62243 62307 62356 62385 62439 62488 50/day
Rubygems.org 103827 103885 103940 103991 104035 104076 104136 52/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.