Hi there, 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? Regards, Martijn