[Distutils] distlib and wheel metadata

Nick Coghlan ncoghlan at gmail.com
Thu Feb 23 23:30:45 EST 2017


On 24 February 2017 at 08:21, Donald Stufft <donald at stufft.io> wrote:

>
> On Feb 23, 2017, at 4:51 PM, C Anthony Risinger <anthony at xtfx.me> wrote:
>
> The distlib solver would bind up from impossible constraints, yet every
> time, pip found a way to "power through" the exact same configuration
> despite blatantly incompatible metadata at times. I never looked into it
> further on pip's side (though probably someone here can confirm/deny this)
> but I suspect poor metadata is more widespread than pip makes visible.
>
>
> <1% of projects or files using == suggests to me that there is very few
> people using == incorrectly.
>

And if it does become a more notable problem in the future then a metadata
independent way of dealing with it would be to add a warning to twine
suggesting replacing "==" with "~=" (as well as an off switch to say "Don't
bug me about that").

So I think the upshot of all this is that the entire semantic dependency
structure in PEP 426 should be simplified to:

1. A single "dependencies" list that allows any PEP 508 dependency specifier
2. A MAY clause permitting tools to warn about the use of `==` and `===`
3. A MAY clause permitting tools to prohibit the use of direct references
4. A conventional set of "extras" with pre-defined semantics ("build",
"dev", "doc", "test")

That gives us an approach that's entirely compatible with the current 1.x
metadata formats (so existing tools will still work), while also moving us
closer to a point where PEP 426 could actually be accepted.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20170224/b2792236/attachment-0001.html>


More information about the Distutils-SIG mailing list