[Grok-dev] strategy for losing the zope.app packages

Martijn Faassen faassen at startifact.com
Fri Dec 11 09:53:02 EST 2009


Hi there,

Reinout van Rees wrote:
> The one I'm going to look at (probably friday) is at how the dependency 
> graph tools do it. Do they display the setup.py dependencies? I think 
> so, but I'm not sure.

Yes, tl.eggdeps only uses setup.py dependencies. The depgraph recipe 
uses that.

 > Martijn: now that I think about it: how would the package dependencies
 > help with your idea? You still need to look at those packages to see
 > what they provide.  The things that get moved are individual classes,
 > not packages as a whole.

You need awareness of Python packages at least at some level. The 
importchecker can give import dependency information and hopefully can 
be analyzed for transitive dependencies that suggest a better import 
location.

This is a report we'd like to avoid:

   you imported:

   from zope.foo import baz

   but you could have imported:

   from zope.foo.bar import baz

   instead.

as that's not a simplified import at all and breaking through a API that 
the package provides.

You only want to see:

   you imported:

   from zoo.app.foo import baz

   but you could have imported:

   from zope.foo import baz

   instead.

I think it starts to become useful to combine this information with 
package dependencies as in setup.py. It might however not be needed for 
such a tool.

> I *love* making tools like this :-)

I'm happy to give you ideas for more. :)

Regards,

Martijn



More information about the Grok-dev mailing list