[Distutils] YAGNI extras and tests_require

Ian Bicking ianb at colorstudy.com
Mon Oct 23 03:33:38 CEST 2006

Jim Fulton wrote:
> I'd like to call "Ya aint gonna need it" on the extras feature of setuptools.
> As far as I can tell, extras are just a way to avoid fine-grained packages.
> Is this benefit worth the complexity?  I don't think so.  It violates
> "There's Only One Way To Do It" and increases the complexity of setuptools.

FWIW, I find it too difficult to communicate what extras mean, so I 
haven't used them.  If something is really optional, then I just make it 
optional, and if you want to use that option you have to require the 
necessary package.  Otherwise it's easier to do package refactoring to 
keep the dependencies straight-forward.

For tests I'd rather just produce errors that are useful, and let people 
figure out from there that they need to add another package.  Part of 
why I find the requirements system hard to depend on is that the errors 
are very hard to understand, so I'm inclined to keep the requirements 
fairly course-grained.

> Setuptools is wonderful but it is complex.  I think it would be helpful to
> make it simpler and I really don't see a need for extras.
> I think a similar argument could be made against the tests_require feature.
> (In the presence of the extras feature, it's puzzling that this isn't
> handled as an extra.)

A reluctance to make a specific extra name as special?  Otherwise yes, 
it seems clear enough to just make it an extra.

Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org

More information about the Distutils-SIG mailing list