On Thu, Dec 3, 2009 at 3:21 PM, P.J. Eby <p...@telecommunity.com> wrote: > At 09:53 PM 12/3/2009 +0100, Attila Oláh wrote: >> >> Wouldn't it require zope.component to be a namespace package? Extras >> allw you to add extra files (subpackages) withot making the container >> package a namespace-package, it seems to me. > > No, they don't. Extras just cause a project to pull in additional > dependencies, not additional *files*.
The basic advantage, I guess, is the indirection; you can require zope.component[zcml], and the maintainers of zope.component determine what is necessary to provide that functionality. And from the changelog it seems they have updated that to depend on different things over time. Though I suspect that was actually a kind of misfeature of extras... some library X requires zope.component[zcml], but in fact only requires a subset of that functionality, and some framework F requires library X, which draws in zope.component[zcml], which in turn requires oodles of other things, and there is pushback from F to zope.component (maybe involving library X maintainers, or not) to reduce the dependencies to what is more strictly required. All of which requires lots of tedious communication and negotiation, which I don't think is really that helpful for anyone, and is why I prefer a more manual assembling of sets of libraries, and am not a fan of Setuptools runtime checking. My general feeling is that these dependencies should only be loosely trusted; only actual testing can confirm that an update is correct for a developer's use case. -- Ian Bicking | http://blog.ianbicking.org | http://topplabs.org/civichacker _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig