[Distutils] A smaller step towards de-specializing setuptools/distutils

Nathaniel Smith njs at pobox.com
Thu Oct 29 19:30:08 EDT 2015


On Thu, Oct 29, 2015 at 4:09 PM, Marcus Smith <qwcode at gmail.com> wrote:
>>
>> However, the big step you're proposing that I think is fundamentally
>> unsound is that of requiring a wheel be built before dependencies can
>> be queried.
>
>
> so, Robert, to be clear, you think 3rd party build tools can get the
> dynamic-dependency support they need just by implementing something dynamic
> via "setup,py dist-info"? (and it doesn't need to happen literally in the
> wheel build step?)

Sure -- 'dist-info' would be run in the same environment as
bdist_wheel, a few seconds before bdist_wheel was run (unless the
output from dist-info convinces us that we need a different version of
this package and so we skip running bdist_wheel entirely). So at least
in principle, anything bdist_wheel can do/know/figure-out is something
that dist-info could also do/know/figure-out. The question about
whether to provide a 'dist-info' step is whether the optimization it
provides is worth the extra complexity it imposes on build systems and
the opportunities for what Donald called "race conditions" (=
accidental or intentional skew between the output of dist-info and the
actual metadata in the eventual wheel).

See also the long email I just sent in its own thread going into more
detail on what this trade-off entails :-)

-n

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


More information about the Distutils-SIG mailing list