Python package dependencies displayed

Few days ago we talked about dependencies in Plone and how about they become complex when several ‘Known Good Set’ are competing on the same eggs. Today Victor Lin released Gluttony that renders a package dependencies as we wanted to:

Gluttony 0.2

I tried to create such graph for  Plone 4.0 alpha 5 and Zope2 2.12.

The first renders a Segmentation Fault with more than 35,000 dependencies…

The second give us the complexity of the Zope framework:

The next step should to plug this on zc.buildout to find conflicts easily.


7 Responses to Python package dependencies displayed

  1. Hanno Schlichting says:

    You might want to have a look at which builds on

    These two were the tools we used to understand and work on the dependency reduction for Grok and Zope2.

  2. encolpe says:

    Nice tools, I will try them.

  3. Alex Clark says:

    Nice! I got a similar result for Plone 4 using tl.eggdeps. It’s a shame these graphs are so complex; they loose all their meaning. At least they provide some good incentive to try and make things simpler.

  4. encolpe says:

    Something shocking about this graph is there’is very a little number of endings :
    – ZConfig
    – ClientForm
    – zope.i18nmessageid
    – setuptools

    There is few things than can be fixed on Zope2 : dependencies on setuptools and on zope.i18nmessageid are to be ignored.

    The last time I did such graphs was in 2004 for CPS with HappyDoc. The more difficult thing is to group parts of a framework to make dependencies on it easier to read.

  5. Victor says:

    Finally, I rendered the diagram of Plone with a smaller size successfully.

    It is the most impressive dependency diagram I have never see.

  6. encolpe says:

    Wow, nice !

    If we can group some dependencies (Zope2, Five and CMF) and hide setuptools we should have something more easy to read.
    Now, we can play with OpenERP or some other big python frameworks. 😉

  7. Great Job!, we’ve a nice homework now 🙂

    Kind Regards

%d blogueurs aiment cette page :