[Zope-dev] setup.py "extra" dependencies

Hanno Schlichting hannosch at hannosch.eu
Thu Mar 5 13:52:31 EST 2009


Martijn Faassen wrote:
> I know opinions are divergent about 'extra' dependencies in setup.py. 
> These ar dependencies that effectively make a single project with a 
> single dependency structure into a number of "virtual" packages that 
> each can have a separate list of dependencies. Such a virtual package 
> that we're currently getting rid of is zope.component[zcml].
> 
> I think they make the graph harder to reason about. That's bad, we want 
> to reason about the system more easily. So I propose that:
> 
> * we shouldn't create any new "extra" dependencies from now on.
> 
> * we should investigate ways to remove the need for 'extra' dependencies.
> 
> The latter point would of course not be done instantly, but if we agree 
> we don't want to create *more* "extra" dependencies we can agree on 
> starting with that policy right away.
> 
> One place where "extra" dependencies are used quite a lot is in testing.
> One extra dependency that shows up a lot is a dependency on 
> zope.app.testing. I think that *also* makes things much harder to reason 
> about; testing dependencies should follow normal package dependencies.
> 
> I therefore think zope.app.testing is one package we should be looking 
> to get rid of eventually by splitting it up among a lot of 'testing' 
> modules in individual packages. This way we won't have zope.app.testing
> sitting at an edge against our whole dependency tree. Since this is a 
> lot of work this will be an ongoing project but we could at least agree 
> we *want* to do this.
> 
> Opinions?

+1

Hanno



More information about the Zope-Dev mailing list