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
May 19 May 20 May 21 May 22 May 23 May 24 May 25 Avg Growth
Bower (JS) 33268 33372 33462 33533 33596 33621 33663 69/day
Clojars (Clojure) 12633 12642 12653 12662 12670 12680 12688 9/day
CPAN 31860 31863 31868 31867 31866 31872 31870 2/day
CPAN (search) 31860 31863 31868 31867 31866 31872 31870 2/day
CRAN (R) 6665 6674 6679 6682 6685 6685 6684 4/day
Crates.io (Rust) 2105 2113 2119 2127 2137 2145 2158 8/day
GoDoc (Go) 65364 65394 65430 65482 65516 65563 65607 41/day
Hackage (Haskell) 8163 8170 8173 8180 8185 8189 8192 5/day
Hex.pm (Elixir/Erlang) 2/day
LuaRocks (Lua) 729 729 731 731 732 732 733 1/day
Maven Central (Java) 105874 105933 106057 106163 106231 106351 106400 88/day
MELPA (Emacs) 2479 2482 2483 2486 2489 2491 2491 2/day
npm (node.js) 149474 149816 150090 150423 150683 150889 151128 276/day
nuget (.NET) 36798 36848 36902 36954 37062 37004 37081 47/day
Packagist (PHP) 59313 59440 59532 59585 59653 59718 59805 82/day
Pear (PHP) 600 600 600 600 600 600 600 0/day
PyPI 59886 59955 60011 60076 60129 60169 60217 55/day
Rubygems.org 101587 101645 101713 101774 101837 101863 101897 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.