Module Counts

  • Include
  • Bower (JS)
  • Clojars (Clojure)
  • CPAN
  • CPAN (search)
  • CRAN (R)
  • Crates.io (Rust)
  • Drupal (php)
  • GoDoc (Go)
  • Hackage (Haskell)
  • Hex.pm (Elixir/Erlang)
  • LuaRocks (Lua)
  • Maven Central (Java)
  • MELPA (Emacs)
  • npm (node.js)
  • nuget (.NET)
  • Packagist (PHP)
  • Pear (PHP)
  • Perl 6 Ecosystem (perl 6)
  • PyPI
  • Rubygems.org
  • time period
  • all time
  • last year
  • last 90 days
  • last 30 days
  • last 7 days
Feb 4 Feb 5 Feb 6 Feb 7 Feb 8 Feb 9 Feb 10 Avg Growth
Bower (JS) 48376 48442 48491 48523 48560 48611 48664 48/day
Clojars (Clojure) 14986 14997 15004 15010 15024 15026 15031 8/day
CPAN 33114 33123 33128 33131 33131 33323 33327 36/day
CPAN (search) 33115 33123 33128 33131 33131 33323 33333 36/day
CRAN (R) 7853 7856 7864 7870 7871 7879 7885 5/day
Crates.io (Rust) 3981 3988 4003 4017 4024 4033 4038 9/day
Drupal (php) 33100 33113 33123 33128 33129 33142 33149 8/day
GoDoc (Go) 109878 110140 110357 110541 110675 110789 110969 182/day
Hackage (Haskell) 9330 9331 9333 9339 9347 9353 9362 5/day
Hex.pm (Elixir/Erlang) 1470 1472 1470 1475 1484 1486 1493 4/day
LuaRocks (Lua) 937 937 941 945 949 949 951 2/day
Maven Central (Java) 131842 131972 132173 132211 132259 132497 132593 125/day
MELPA (Emacs) 2918 2918 2920 2924 2925 2925 2930 2/day
npm (node.js) 236444 236873 237175 237478 237898 238272 238685 374/day
nuget (.NET) 49807 49853 49896 49919 49963 50054 50094 48/day
Packagist (PHP) 84725 84834 84915 84985 85082 85206 85310 98/day
Pear (PHP) 601 601 601 601 601 601 601 0/day
Perl 6 Ecosystem (perl 6) 549 550 550 550 548 551 554 1/day
PyPI 74041 74114 74169 74129 74188 74266 74322 47/day
Rubygems.org 47/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).

(Nov 27, 2015) I upgraded to Rails 5 (alpha), and ruby 2.3.0-preview1. I also fixed the nuget repo, which got a site update that broke sampling some time ago. New repositories: Perl 6, and Drupal

(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.