> On Jun 16, 2017, at 5:48 PM, Nathaniel Smith <[email protected]> wrote:
>
> On Fri, Jun 16, 2017 at 2:08 AM, Thomas Kluyver <[email protected]
> <mailto:[email protected]>> wrote:
>>
>> On Fri, Jun 16, 2017, at 08:41 AM, Nick Coghlan wrote:
>>>> I think we should rename get_build_requires to
>>>> get_build_wheel_requires, and add a get_build_sdist_requires. And the
>>>> rule would be:
>>>>
>>>> get_build_sdist_requires: can assume build-system.requires are available
>>>> get_build_wheel_requires: can assume build-system.requires are available
>>>>
>>>> build_sdist: can assume build-system.requires and
>>>> get_build_sdist_requires are available
>>>> prepare_wheel_metadata, build_wheel: can assume build-system.requires
>>>> and get_build_wheel_requires are available
>>>
>>> +1 from me
>>
>> *Sigh*, another hook. It makes sense in context, but I can't shake the
>> feeling that what was a relatively simple spec is steadily turning into
>> a complex monster. I still resent that we're trying to standardise an
>> interface to build sdists at the same time as one to build wheels.
>
> Hmm, here's another plea for simplicity, but from a slightly different
> direction that I just thought of: what if we said that any hooks
> starting with "ext_pip_..." are reserved for pip's use, and pip can
> make up whatever semantics it likes for them. And then as the parts of
> pip that actually want to use prepare_wheel_metadata and/or
> get_prepared_wheel_input_files come online, we use the ext_pip_*
> versions of those hooks to prototype them and work out any issues. And
> then once there's an actual implementation and proven value, we write
> a new PEP to drop the ext_pip_ prefix and make them standard.
>
I’d probably want to spec this out as ext_{name-on-pypi}_* to remove a special
case on pip in the PEP, to let others do experimentation as well. However this
solution is fine with me on both of the Non build_{sdist,wheel} hooks. Although
I feel like it kind of defeats the purpose of the prepare_build_files hooks,
because I think Thomas’ goal is to not have to support build_sdist from within
another sdist, and if he depends on a pip extension (rather than it being an
optional speed up like prepare_wheel_metadata) then we either break flit users
if we decide it wasn’t worth it and we remove it, or we force other frontends
to understand ext_pip_prepare_build_files and we get into the same kind of
“everyone is just trying to emulate setuptools” bog that we’re trying to escape.
—
Donald Stufft
_______________________________________________
Distutils-SIG maillist - [email protected]
https://mail.python.org/mailman/listinfo/distutils-sig