Distributions map for YAPC::EU

Filed under: distributions — Tags: , , , — admin @ 5:00 pm


The distributions map has also been upgraded for the YAPC::EU. As for the authors map, we used CPANDB and Task::Kensho. We used modules recommendend by Task::Kensho as the seed. Then we extracted from CPANDB all the modules that depend on the modules listed in the seed. So this map is rather oriented towards the modern Perl. The TK group doesn’t appear anymore.



  • Node count: 2724
  • Edge count: 5426


A node represents a distribution. The color and the size represents the count of other distributions using it. Some green nodes have the same size as whites nodes. The color then distinguishes them because we didn’t want to use a smaller size for nodes.


An edge is created when a module from a distribution is used by another distribution. The edges are not weighted.


Even if we don’t have the same data as for the previous map, we can do some comparaisons. We still see a Moose cluster, and Catalyst is now closer (Catalyst has switched to Moose in June). The Web cluster still exists (with LWP, URI, …).

Some other interesting cluster are the Test::*, with Test::Exception, Test::Simple, Test::Class, Test::POD, … If anyone still doubts that tests are important in the Perl community, I hope this map will convince them.


These documents are all licenced under the creative commons licence. You can open .gexf graph files with the opensource editor Gephi.

Distributions : graph

Filed under: distributions — Tags: , , — admin @ 9:23 am


We used data available from the CPANTS database to reconstruct the network of dependencies between packages inside the CPAN. After removing small independent sets, emerge the “core” of CPAN.


We initialy used Graphviz Perl module to generate an hierarchical, butterfly-like view of the graph.

With this kind of representation, the package on which we focus is a trunk, dependencies are the roots, and other libraries which use the package are the leaves.
This is interesting, because Perl modules (like everything having a lifecycle) grow, evolve, and may die, or be recycled into another library.

But at the macro level, the full community appears as a complete ecosystem: a dynamic system in which each entity evolve with other species in order to adapt to their environment (other packages, industry tendencies, developers lifecycle..).
We believe that visualization and exploration of software repositories as large-scale dynamical networks is, and we hope to see similar initiatives in other softwares communities. We invite anybody interested in such network to download Gephi and the CPAN graph to create nice visualizations and discover interesting patterns!