> On May 9, 2016, at 9:28 AM, Nick Coghlan <ncogh...@gmail.com> wrote:
> 
> Looking at my previous ideas for semantic dependencies in PEP 426,
> what if we start in the near term by defining development
> requirements?

I think the biggest reason not to do this, but instead do something like build
requirements is that development dependencies is already reasonably well
addressed in a way that something other than setuptools can access it using
extras. It's not as great as a dedicated key for it, but it works pretty OK.
The thing that is really painful is setup_requires and how it forces you to
delay importing until *during* the execution of the setup() function. We could
try and lump setup_requires and development dependencies together, but that
seems less than optimal to me. Unless someone's setup.py uses pytest, I'm not
sure I see a reason for pytest to be installed anytime pip builds that project.

A more concrete example would be pyca/cryptography, which has a development
dependency that consists of 27MB of data which was purposely kept separate from
cryptography itself so as not to incur an additional 27MB of download just to
install cryptography.

I think this *could* make sense, if we could reasonably assume that the 95%
case would always be handled by wheels, but I don't think that we can. A lot of
projects have compiled C code as part of them, and as soon as you do that you
end up where installation from sdist is one of your main supported methods (yes
Wheel will cover a lot of them, but only for the most popular platforms).

-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to