On 24 February 2017 at 08:21, Donald Stufft <don...@stufft.io> wrote:
> > On Feb 23, 2017, at 4:51 PM, C Anthony Risinger <anth...@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 | ncogh...@gmail.com | Brisbane, Australia
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig