Returns the DSN as a three element list (dbname, user, pwd)

Accessors to various directories


Module::CPANTS::ProcessCPAN - Generate Kwalitee ratings for the whole CPAN



Run CPANTS on the whole of CPAN. Includes a DBIx::Class based DB abstraction layer. More docs soon...

How to set up a local CPANTS processor


  • A PostgreSQL DB named cpants

  • A local CPAN mirror (eg one mirrored with CPAN::Mini)

  • All the prereqs of Module::CPANTS::Analyse & Module::CPANTS::ProcessCPAN

Set up the DB

You can find the current schema of the CPANTS DB in sql/cpants.schema. Use this schema to set up a Postgres DB:

  psql cpants < sql/cpants.schema

You will also need to set up an account in the DB. If you don't know how to do that, read the postgres docs...

Install Module::CPANTS::ProcessCPAN

When you install Module::CPANTS::ProcessCPAN the Build script will ask you some questions where to install the app to:

  Please specify the CPANTS home directory: [/home/domm/cpants ]

  Postgres DB user: [cpants ]

  Postgres DB password: [cpants ]

After installing the code with sudo ./Build install you have to install the app into the CPANTS home directory you specified earlier:

  ./Build install_cpants

This will set up the needed directories and scripts. Please note that if you install Module::CPANTS::Site (the Catalyst-based web frontend), it will re-use the CPANTS home dir and install the cat app into the same location.

Running CPANTS

Change into the CPANTS home dir. There you will find a dir bin containing various scripts. You can either call each script on it's own (usefull if your working on one step of the process), or call the wrapper script bin/run.pl. run.pl calls all scripts in the correct order and with the needed parameters.

run.pl itself takes theses parameters:

  • --cpan


    This is the path to the root of the local cpan mirror

  • --lint


    The path to the cpants_lint.pl script that's comming with Module::CPANTS::Analyse. If you're in the middle of developing new features (or more likely fixing bugs...) you can point this to the dev version in your Module::CPANTS::Analyse repo (--lint ../Module-CPANTS-Analyse/bin/cpants_lint.pl)

  • --force


    Test all dists, not only those that have been uploaded since the last run. Please note that this usually takes aprox an hour...

Testing only a subset of CPAN

During development of new features it's very annoying to wait for an hour until you uncover the next bug. Therefore it pays off to set up a slim local CPAN mirror. I wrote CPAN::Mini::FromList to set up such a mirror.




Please report any bugs or feature requests, or send any patches, to bug-module-cpants-analyse at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Module-CPANTS-ProcessCPAN. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


Thomas Klausner, <domm@cpan.org>, http://domm.zsi.at

Please use the perl-qa mailing list for discussing all things CPANTS: http://lists.perl.org/showlist.cgi?name=perl-qa


This code is Copyright (c) 2003-2006 Thomas Klausner. All rights reserved.

You may use and distribute this module according to the same terms that Perl is distributed under.