[Distutils] What's special about numpy, scipy, ...was: Remove distutils, was: red, green, refactor ...

Nathaniel Smith njs at pobox.com
Tue Oct 27 03:29:44 EDT 2015

On Tue, Oct 27, 2015 at 12:13 AM, Thomas Güttler
<guettliml at thomas-guettler.de> wrote:
> Am 26.10.2015 um 20:07 schrieb Nathaniel Smith:
>> On Oct 26, 2015 6:59 AM, "Wayne Werner" <waynejwerner at gmail.com <mailto:waynejwerner at gmail.com>> wrote:
>>  >
>>  > On Thu, Oct 22, 2015 at 11:27 AM, Chris Barker <chris.barker at noaa.gov <mailto:chris.barker at noaa.gov>> wrote:
>>  >>
>>  >> On Thu, Oct 22, 2015 at 8:47 AM, Thomas Güttler <guettliml at thomas-guettler.de <mailto:guettliml at thomas-guettler.de>> wrote:
>>  >>
>>  >>>
>>  >>> >     I have a dream: For packaging and building package provides only **data**. Data is condition-less: No single "if", "def" or method call. Just data: json or yaml ...
>>  >>> >
>>  >>> >     Even for complex packages.
>>  >>
>>  >>
>>  >> It's a nice dream -- but I think there is more or less a consensus on this list that you really can't do everything completely declaratively. I know I would find it very frustrating to have to hard-code everything up front.
>>  >
>>  >
>>  > I've seen this sentiment mentioned several times... Having only had experience with sdist-style packages which are dead simple to define, do you have any examples of some specific thing that's a pain to do declaratively?
>> Test the system's implementation of the math.h 'tanh' function to decide whether it correctly implements C99 annex F style handling of edge cases and thus can be used safely, or whether we need to fall back to our internal version of tanh instead, and define some appropriate C preprocessor macros depending on the result.
> With a plugin-system it would be easy to handle this declaratively.
> We need a way to extend the supported key-value pairs. This would be done in check_tanh plugin package.
> Then you need to build-depend on the new check_tanh package.
> I guess that most developers feel that this is very complicated. I feel the same, but I **think** it is not.
> The structure is straight forward. It just feels complicated. The check_tanh package
> can be create in just a few minutes.

Plugins are arbitrary code, that contain plenty of ifs, defs, and
method calls...

In any case, the next thread over is discussing exactly the question
of how we can make it easy for you to write your own build system and
see how declarative you can make it, with plugins or without :-).


Nathaniel J. Smith -- http://vorpus.org

More information about the Distutils-SIG mailing list