Quality metrics for the head of the CPAN River

CPAN River Tue 26 January 2016

In a series of previous posts ( 1, 2, 3 ) I had a look at some metrics for measuring the river quality of distributions. This post presents those metrics for the distributions at the head of the river: those distributions which have 10,000 downstream dependents or greater.

Firstly, here's summary data for the 45 distributions, in decreasing order of number of downstream dependents. I didn't include that number to keep the width of the table down. Most of these are core dists (another indicator I might include in future versions of the table).

Distribution Released by min perl Bugs CPAN Testers Kwalitee META
Pod-Simple MARCGREEN N/A 4 5 0 0 0 1 2 Y J
Data-Dumper SMUELLER N/A 18 - 3909 25 15 0.6% 5 4 Y -
Test-Simple EXODIST 5.006 28 27 0 0 0 1 1 Y J
Scalar-List-Utils PEVANS N/A 28 0 5579 98 8 1.7% 1 2 Y J
Test-Harness LEONT N/A 32 12 0 0 0 0 2 Y J
podlators RRA 5.006 4 0 0 0 0 0 0 Y J
Test JESSE N/A 6 - 2833 0 1 0.0% 0 0 Y J
ExtUtils-MakeMaker BINGOS 5.006 29 24 0 0 0 0 2 Y J
Carp RJBS N/A 6 - 0 0 0 1 2 Y J
PathTools RJBS N/A 62 - 0 0 0 0 3 Y J
parent CORION N/A 3 0 1721 0 0 0.0% 1 2 Y J
Exporter TODDR N/A 0 - 1102 0 0 0.0% 4 2 Y J
Encode DANKOGAI N/A 45 3 0 0 0 1 2 Y J
IO TODDR N/A 34 - 332 8 1 2.3% 1 3 Y -
constant RJBS N/A 0 - 729 0 0 0.0% 0 2 Y J
File-Path RICHE N/A 1 1 0 0 0 0 2 Y J
File-Temp DAGOLDEN 5.006 10 1 0 0 0 2 3 Y J
lib SMUELLER N/A 2 - 2177 4 4 0.2% 2 3 Y -
version JPEACOCK 5.006002 0 - 0 0 0 0 0 Y J
Module-Load BINGOS N/A 4 1 1649 2 0 0.1% 0 1 Y J
Module-Metadata ETHER 5.006 11 6 0 0 0 1 2 Y -
Locale-Maketext-Simple JESSE N/A 8 - 1823 60 0 3.2% 1 1 Y -
Module-CoreList BINGOS N/A 6 - 0 0 0 0 2 Y J
Params-Check BINGOS N/A 3 1 1891 2 1 0.1% 0 2 Y J
Module-Load-Conditional BINGOS N/A 0 0 1114 0 0 0.0% 0 2 Y J
IPC-Cmd BINGOS N/A 26 1 1476 121 0 7.6% 0 2 Y -
base RJBS N/A 4 - 0 0 0 3 4 Y J
Text-ParseWords CHORNY 5.006 5 0 1021 0 0 0.0% 0 1 Y J
Perl-OSType DAGOLDEN 5.006 0 1 0 0 0 0 0 Y J
ExtUtils-CBuilder AMBS N/A 0 0 0 0 0 1 2 Y J
Getopt-Long JV N/A 11 - 0 0 0 0 0 - -
XSLoader SAPER N/A 0 - 2366 249 0 9.5% 1 2 Y J
JSON-PP MAKAMAKA N/A 13 3 1929 2 0 0.1% 0 3 Y J
ExtUtils-ParseXS SMUELLER N/A 4 - 0 0 0 0 2 Y J
CPAN-Meta-YAML DAGOLDEN 5.008001 0 0 0 0 0 0 0 Y J
CPAN-Meta-Requirements DAGOLDEN 5.006 0 5 0 0 0 0 0 Y J
Parse-CPAN-Meta DAGOLDEN 5.008001 3 1 3647 0 0 0.0% 1 2 Y J
CPAN-Meta DAGOLDEN 5.008 5 23 3675 2 0 0.1% 0 0 Y J
ExtUtils-Install BINGOS N/A 21 2 1234 7 0 0.6% 2 3 Y J
ExtUtils-Manifest ETHER 5.006 2 12 1302 0 0 0.0% 0 0 Y J
Text-Abbrev FLORA 5.005 0 0 0 0 0 2 2 Y J
Module-Build LEONT 5.006001 24 12 0 0 0 0 0 Y J
if ETHER N/A 1 - 0 0 0 3 2 Y J
MIME-Base64 GAAS 5.004 0 0 0 0 0 1 2 Y J
Try-Tiny ETHER 5.006 0 0 0 0 0 0 0 Y J

Some explanation:

One obvious follow-on question, which at least Helmut asked: what are the kwalitee metrics involved. So I wrote another script to build a summary table of the metrics:

individual kwalitee metrics

The most commonly failed metrics are:

Now I've got this data, I'm going to start working through the distributions, seeing which ones can be fixed, and raising bugs or submitting pull requests, as appropriate.

comments powered by Disqus