Martijn Faassen wrote:
Hey,
On Tue, Feb 24, 2009 at 11:26 PM, Jim Fulton <jim@zope.com> wrote: [snip]
The graph only shows direct dependencies on zope.i18n and zope.security, but there are many other direct dependencies.
Ah, agreed, yes, I think this is because of the transitive dependency functionality removal somehow, even though it seems to remove more than just these. Hanno's now also generating the real graphs, though:
http://hannosch.eu/dependencies/zope/zope.publisher-full.svg
I see in that graph a number of dependencies that are pulled in just for specifications. For instance, zope.publisher doesn't really need the Location class, it only needs ILocation. Just brainstorming, but I wonder if we shouldn't split at least the following packages into specification and implementation packages: - zope.location - zope.security - zope.i18n - zope.publisher - zope.component That way various packages could use i18n interfaces without pulling in pytz, or could use location interfaces without pulling in zope.proxy, and so on. Brainstorming deeper: we could apply a naming convention where the specification package is named with the suffix "spec", so zope.location would be split into zope.location and zope.locationspec. Shane