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
Jun 28 Jun 29 Jun 30 Jul 1 Jul 2 Jul 3 Jul 4 Avg Growth
Bower (JS) 35687 35734 35811 35871 35930 35998 36074 64/day
Clojars (Clojure) 12974 12977 12986 12992 13003 13013 13018 7/day
CPAN 32027 32040 32046 32052 32055 32059 32067 7/day
CPAN (search) 32027 32040 32046 32052 32055 32059 32067 7/day
CRAN (R) 6817 6817 6819 6784 6793 6789 6795 -4/day
Crates.io (Rust) 2441 2449 2462 2471 2476 2482 2485 7/day
GoDoc (Go) 74932 75088 75226 75360 75484 75619 75735 134/day
Hackage (Haskell) 8370 8371 8378 8383 8386 8389 8391 3/day
Hex.pm (Elixir/Erlang) 2/day
LuaRocks (Lua) 768 768 769 769 769 770 770 0/day
Maven Central (Java) 109898 109954 110063 110182 110309 110384 110427 88/day
MELPA (Emacs) 2551 2555 2555 2555 2553 2555 2557 1/day
npm (node.js) 160190 160441 160717 161055 161311 161630 161894 284/day
nuget (.NET) 38497 38521 38556 38658 38713 38854 38886 65/day
Packagist (PHP) 87/day
Pear (PHP) 600 600 600 600 600 600 600 0/day
PyPI 62033 62081 62140 62189 62243 62307 62356 54/day
Rubygems.org 103633 103713 103775 103827 103885 103940 103991 60/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.