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 8 Feb 9 Feb 10 Feb 11 Feb 12 Feb 13 Feb 14 Avg Growth
Bower (JS) 48560 48611 48664 48671 48743 48802 48819 42/day
Clojars (Clojure) 15024 15026 15031 15043 15047 15056 15067 7/day
CPAN 33131 33323 33327 33342 33344 33350 33357 38/day
CPAN (search) 33131 33323 33333 33342 33344 33349 33357 38/day
CRAN (R) 7871 7879 7885 7895 7903 7907 7909 6/day
Crates.io (Rust) 4024 4033 4038 4047 4052 4059 4071 8/day
Drupal (php) 33129 33142 33149 33155 33160 33175 33182 8/day
GoDoc (Go) 110675 110789 110969 111112 111204 111268 111358 117/day
Hackage (Haskell) 9347 9353 9362 9364 9365 9367 9368 4/day
Hex.pm (Elixir/Erlang) 1484 1486 1493 1495 1498 1499 1505 4/day
LuaRocks (Lua) 949 949 951 953 953 953 957 2/day
Maven Central (Java) 132259 132497 132593 132712 132804 132943 133008 125/day
MELPA (Emacs) 2925 2925 2930 2930 2931 2934 2934 1/day
npm (node.js) 237898 238272 238685 239050 239402 239746 240034 356/day
nuget (.NET) 49963 50054 50094 50149 50179 50225 50258 49/day
Packagist (PHP) 85082 85206 85310 85461 85589 85669 85759 113/day
Pear (PHP) 601 601 601 601 601 601 601 0/day
Perl 6 Ecosystem (perl 6) 548 551 554 556 558 558 559 1/day
PyPI 74188 74266 74322 74391 74446 74497 74544 59/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.