Kwalitee Indicators

Name Description Fail
(Latest)
Fail
(CPAN)
Fail
(BackPAN)
buildtool_not_executable The build tool (Build.PL/Makefile.PL) is executable. This is bad because you should specify which perl you want to use while installing.
(defined in Module::CPANTS::SiteKwalitee::Files)
1785
(4.26 %)
7108
(4.75 %)
14492
(5.89 %)
distname_matches_name_in_meta The distribution name (eg. 'Foo-Bar' of Foo-Bar-1.42.tar.gz) does not match the 'name' field in META files.
(defined in Module::CPANTS::SiteKwalitee::Distname)
187
(0.45 %)
576
(0.38 %)
2034
(0.83 %)
extractable This distribution doesn't extract well due to several reasons such as unsupported archive type (CPANTS only supports tar.gz, tgz and zip archives), file permissions, broken links, invalid filenames, and so on. Most of other kwalitee metrics should be ignored.
(defined in Module::CPANTS::SiteKwalitee::Extraction)
54
(0.13 %)
159
(0.11 %)
466
(0.19 %)
extracts_nicely This distribution doesn't create a directory and extracts its content into this directory. Instead, it creates more than one directories (some of which are probably system-specific hidden files/directories), or it spews its content into the current directory, making it really hard/annoying to remove the unpacked package.
(defined in Module::CPANTS::SiteKwalitee::Extraction)
262
(0.63 %)
468
(0.31 %)
951
(0.39 %)
has_abstract_in_pod No abstract (short description of a module) is found in pod from this distribution.
(defined in Module::CPANTS::Kwalitee::Pod)
2015
(4.81 %)
6150
(4.11 %)
10834
(4.4 %)
has_buildtool Makefile.PL and/or Build.PL are missing. This makes installing this distribution hard for humans and impossible for automated tools like CPAN/CPANPLUS/cpanminus.
(defined in Module::CPANTS::Kwalitee::Files)
489
(1.17 %)
964
(0.64 %)
1932
(0.78 %)
has_changelog The distribution hasn't got a Changelog (named something like m/^chang(es?|log)|history$/i). A Changelog helps people decide if they want to upgrade to a new version.
(defined in Module::CPANTS::Kwalitee::Files)
4120
(9.84 %)
13612
(9.09 %)
20944
(8.51 %)
has_human_readable_license This distribution does not have a license defined in the documentation or in a file called LICENSE
(defined in Module::CPANTS::Kwalitee::License)
4402
(10.51 %)
14514
(9.69 %)
23962
(9.74 %)
has_license_in_source_file Does not have license information in any of its source files
(defined in Module::CPANTS::Kwalitee::License)
6247
(14.92 %)
21006
(14.02 %)
35988
(14.62 %)
has_manifest The file "MANIFEST" is missing from this distribution. The MANIFEST lists all files included in the distribution.
(defined in Module::CPANTS::Kwalitee::Files)
1032
(2.46 %)
2633
(1.76 %)
4474
(1.82 %)
has_meta_yml The file "META.yml" is missing from this distribution. META.yml is needed by people maintaining module collections (like CPAN), for people writing installation tools, or just people who want to know some stuff about a distribution before downloading it.
(defined in Module::CPANTS::Kwalitee::Files)
5284
(12.62 %)
16181
(10.8 %)
29104
(11.82 %)
has_proper_version The version number isn't a number. It probably contains letter besides a leading 'v', which it shouldn't
(defined in Module::CPANTS::SiteKwalitee::DistVersion)
404
(0.96 %)
1436
(0.96 %)
2784
(1.13 %)
has_readme The file "README" is missing from this distribution. The README provides some basic information to users prior to downloading and unpacking the distribution.
(defined in Module::CPANTS::Kwalitee::Files)
2982
(7.12 %)
11091
(7.4 %)
17707
(7.19 %)
has_tests This distribution doesn't contain either a file called 'test.pl' or a directory called 't'. This indicates that it doesn't contain even the most basic test-suite. This is really BAD!
(defined in Module::CPANTS::Kwalitee::Files)
2224
(5.31 %)
6322
(4.22 %)
10089
(4.1 %)
has_version The distribution filename (eg. Foo-Bar-1.42.tar.gz) does not include a version number (or something that looks like a reasonable version number to CPAN::DistnameInfo)
(defined in Module::CPANTS::SiteKwalitee::DistVersion)
169
(0.4 %)
233
(0.16 %)
508
(0.21 %)
main_module_version_matches_dist_version The version and/or name of the main module in this distribution doesn't match the distribution version and/or name.
(defined in Module::CPANTS::SiteKwalitee::Version)
3322
(7.93 %)
10604
(7.08 %)
18816
(7.64 %)
manifest_matches_dist MANIFEST does not match the contents of this distribution.
(defined in Module::CPANTS::Kwalitee::Manifest)
3271
(7.81 %)
10941
(7.3 %)
18271
(7.42 %)
meta_json_conforms_to_known_spec META.json does not conform to any recognised META Spec.
(defined in Module::CPANTS::Kwalitee::MetaYML)
215
(0.51 %)
1020
(0.68 %)
1983
(0.81 %)
meta_json_is_parsable The META.json file of this distribution could not be parsed by the version of JSON parser CPANTS is using.
(defined in Module::CPANTS::Kwalitee::MetaYML)
39
(0.09 %)
112
(0.07 %)
147
(0.06 %)
meta_yml_conforms_to_known_spec META.yml does not conform to any recognised META.yml Spec.
(defined in Module::CPANTS::Kwalitee::MetaYML)
3136
(7.49 %)
11222
(7.49 %)
21463
(8.72 %)
meta_yml_is_parsable The META.yml file of this distribution could not be parsed by the version of CPAN::Meta::YAML.pm CPANTS is using.
(defined in Module::CPANTS::Kwalitee::MetaYML)
170
(0.41 %)
588
(0.39 %)
1179
(0.48 %)
no_broken_auto_install This distribution uses an old version of Module::Install. Versions of Module::Install prior to 0.89 do not detect correctly that CPAN/CPANPLUS shell is used.
(defined in Module::CPANTS::Kwalitee::BrokenInstaller)
444
(1.06 %)
1837
(1.23 %)
4049
(1.65 %)
no_broken_module_install This distribution uses an obsolete version of Module::Install. Versions of Module::Install prior to 0.61 might not work on some systems at all. Additionally if your Makefile.PL uses the 'auto_install()' feature, you need at least version 0.64. Also, 1.04 is known to be broken.
(defined in Module::CPANTS::Kwalitee::BrokenInstaller)
345
(0.82 %)
1353
(0.9 %)
2985
(1.21 %)
no_files_to_be_skipped This distribution contains files that should be skipped by MANIFEST.SKIP.
(defined in Module::CPANTS::Kwalitee::Files)
646
(1.54 %)
2743
(1.83 %)
5821
(2.37 %)
no_generated_files This distribution has files/directories that should be generated at build time, not distributed by the author.
(defined in Module::CPANTS::SiteKwalitee::Files)
327
(0.78 %)
1240
(0.83 %)
1986
(0.81 %)
no_mymeta_files This distribution contains MYMETA.* files which should be used only locally. This metric should be integrated into 'no_generated_files' eventually, but as MYMETA.* files are recent inventions, you might need to take special care if MANIFEST.SKIP exists in your distribution. Hence this metric.
(defined in Module::CPANTS::SiteKwalitee::MyMeta)
366
(0.87 %)
1615
(1.08 %)
2751
(1.12 %)
no_pax_headers This distribution is archived with PAX extended headers, which may be useful under some environments, but may also make extraction fail under other environments (Archive::Tar ignores PAX information as well).
(defined in Module::CPANTS::SiteKwalitee::Extraction)
548
(1.31 %)
1942
(1.3 %)
2370
(0.96 %)
no_pod_errors The documentation for this distribution contains syntactic errors in its POD. Note that this metric tests all .pl, .pm and .pod files, even if they are in t/. See 'pod_message' in the dist error view for more info.
(defined in Module::CPANTS::SiteKwalitee::Pod)
3181
(7.6 %)
15254
(10.18 %)
29269
(11.89 %)
no_symlinks This distribution includes symbolic links (symlinks). This is bad, because there are operating systems that do not handle symlinks.
(defined in Module::CPANTS::Kwalitee::Files)
38
(0.09 %)
110
(0.07 %)
179
(0.07 %)
portable_filenames This distribution has at least one file with non-portable characters in its filename, which may cause problems under some environments.
(defined in Module::CPANTS::SiteKwalitee::Files)
81
(0.19 %)
426
(0.28 %)
795
(0.32 %)
prereq_matches_use This distribution uses a module or a dist that's not listed as a prerequisite.
(defined in Module::CPANTS::SiteKwalitee::Prereq)
3325
(7.94 %)
14155
(9.45 %)
22803
(9.26 %)
use_strict This distribution does not 'use strict;' (or its equivalents) in all of its modules. Note that this is not about the actual strictness of the modules. It's bad if nobody can tell whether the modules are strictly written or not, without reading the source code of your favorite clever module that actually enforces strictness. In other words, it's bad if someone feels the need to add 'use strict' to your modules.
(defined in Module::CPANTS::Kwalitee::Uses)
4643
(11.09 %)
19244
(12.85 %)
34289
(13.93 %)
Name Description Fail
(Latest)
Fail
(CPAN)
Fail
(BackPAN)
consistent_version This distribution has .pm files with inconsistent versions.
(defined in Module::CPANTS::SiteKwalitee::Version)
2376
(5.67 %)
12748
(8.51 %)
25531
(10.37 %)
has_known_license_in_source_file Does not have license information in any of its source files, or the information is not recognized by Software::License
(defined in Module::CPANTS::Kwalitee::License)
7942
(18.97 %)
27304
(18.23 %)
45722
(18.58 %)
has_meta_json The file "META.json" is missing from this distribution. META.json has better information than META.yml and is preferred by people maintaining module collections (like CPAN), for people writing installation tools, or just people who want to know some stuff about a distribution before downloading it.
(defined in Module::CPANTS::Kwalitee::Files)
19429
(46.41 %)
71921
(48.02 %)
129910
(52.78 %)
has_tests_in_t_dir This distribution contains either a file called 'test.pl' (the old test file) or is missing a directory called 't'. This indicates that it uses the old test mechanism or it has no test-suite.
(defined in Module::CPANTS::Kwalitee::Files)
4442
(10.61 %)
13770
(9.19 %)
22973
(9.33 %)
meta_yml_declares_perl_version This distribution does not declare the minimum perl version in META.yml.
(defined in Module::CPANTS::Kwalitee::MetaYML)
19391
(46.31 %)
68528
(45.75 %)
114231
(46.41 %)
meta_yml_has_license This distribution does not have a license defined in META.yml.
(defined in Module::CPANTS::Kwalitee::License)
12417
(29.66 %)
39572
(26.42 %)
69773
(28.35 %)
no_abstract_stub_in_pod A well-known abstract stub (typically generated by an authoring tool) is found in this distribution.
(defined in Module::CPANTS::Kwalitee::Pod)
83
(0.2 %)
320
(0.21 %)
512
(0.21 %)
no_dot_dirs This distribution has a dot directory, which most probably derives from a version control system.
(defined in Module::CPANTS::SiteKwalitee::Files)
172
(0.41 %)
842
(0.56 %)
1107
(0.45 %)
no_dot_underscore_files This distribution has dot underscore files which may cause various problems.
(defined in Module::CPANTS::SiteKwalitee::Files)
99
(0.24 %)
302
(0.2 %)
518
(0.21 %)
no_invalid_versions This distribution has .pm files with an invalid version.
(defined in Module::CPANTS::SiteKwalitee::Version)
269
(0.64 %)
1521
(1.02 %)
3308
(1.34 %)
no_local_dirs This distribution contains a well-known directory for local use (i.e. not suitable for a public distribution).
(defined in Module::CPANTS::SiteKwalitee::Files)
7
(0.02 %)
31
(0.02 %)
49
(0.02 %)
no_maniskip_error This distribution's MANIFEST.SKIP has a problematic entry.
(defined in Module::CPANTS::Kwalitee::Files)
12
(0.03 %)
64
(0.04 %)
189
(0.08 %)
no_missing_files_in_provides Provides field in the META.yml lists a file that does not found in the distribution.
(defined in Module::CPANTS::Kwalitee::FindModules)
42
(0.1 %)
214
(0.14 %)
442
(0.18 %)
no_stdin_for_prompting This distribution is using direct call from STDIN instead of prompt(). Make sure STDIN is not used in Makefile.PL or Build.PL.
(defined in Module::CPANTS::Kwalitee::Files)
157
(0.37 %)
891
(0.59 %)
2886
(1.17 %)
no_unauthorized_packages Apparently this distribution has unauthorized packages now.
(defined in Module::CPANTS::SiteKwalitee::Permissions)
1230
(2.94 %)
5652
(3.77 %)
13667
(5.55 %)
proper_libs There is more than one .pm file in the base dir, or the .pm files are not in lib/ directory.
(defined in Module::CPANTS::Kwalitee::FindModules)
865
(2.07 %)
4245
(2.83 %)
8828
(3.59 %)
test_prereq_matches_use This distribution uses a module or a dist in its test suite that's not listed as a test prerequisite.
(defined in Module::CPANTS::SiteKwalitee::Prereq)
1133
(2.71 %)
5676
(3.79 %)
8760
(3.56 %)
use_warnings This distribution does not 'use warnings;' (or its equivalents) in all of its modules. Note that this is not about that your modules actually warn when something bad happens. It's bad if nobody can tell if a module warns or not, without reading the source code of your favorite module that actually enforces warnings. In other words, it's bad if someone feels the need to add 'use warnings' to your modules.
(defined in Module::CPANTS::Kwalitee::Uses)
12143
(29 %)
46712
(31.19 %)
82872
(33.67 %)
valid_signature This dist failed its Module::Signature verification and does not to install automatically through the CPAN client if Module::Signature is installed. Note: unsigned dists will automatically pass this kwalitee check.
(defined in Module::CPANTS::SiteKwalitee::Signature)
75
(0.18 %)
556
(0.37 %)
880
(0.36 %)
Name Description Fail
(Latest)
Fail
(CPAN)
Fail
(BackPAN)
configure_prereq_matches_use This distribution uses a module or a dist in its Makefile.PL/Build.PL that's not listed as a configure prerequisite.
(defined in Module::CPANTS::SiteKwalitee::Prereq)
400
(0.96 %)
1638
(1.09 %)
2453
(1 %)
has_separate_license_file This distribution does not have a LICENSE or LICENCE file in its root directory.
(defined in Module::CPANTS::Kwalitee::License)
21491
(51.33 %)
78232
(52.23 %)
131461
(53.41 %)
meta_yml_has_provides This distribution does not have a list of provided modules defined in META.yml.
(defined in Module::CPANTS::Kwalitee::MetaYML)
25546
(61.02 %)
93445
(62.39 %)
153994
(62.57 %)
meta_yml_has_repository_resource This distribution does not have a link to a repository in META.yml.
(defined in Module::CPANTS::Kwalitee::MetaYML)
16227
(38.76 %)
58706
(39.19 %)
104371
(42.41 %)