
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@colorstudy.com | http://blog.ianbicking.org