On 17 November 2015 at 20:02, Robert Collins <robe...@robertcollins.net> wrote: > As I understand it, you and Antoine are saying that the current PEP > *does* define implementation because folk can't trust their URI > library to error appropriately - and thats the bit I don't understand. > Just parse however you want as an author, and cross check against the > full grammar here in case of doubt.
What I'm saying is that for syntax, a conforming implementation has to stand alone in its conformance to the spec. If the spec says X is (in)valid, then the implementation should agree. I might want to use the implementation to *check* that some file conforms to the spec, so I may not even be using a URL library. On the other hand, *semantics* are how you use the data - it's perfectly OK to say that the "urlspec" chunk of data is intended to be passed to a URL library. In that case, @::: is valid (it conforms to the syntax) but meaningless. That's a looser spec (and so easier to implement) but just as useful in any practical sense. One last point - AIUI, the implementation being added to the packaging library does full URI parsing. And I doubt anyone claiming to be implementing the spec would feel comfortable not doing so. So I don't follow your idea that people implementing the spec can defer to a URL library for that bit - it's not what's actually happening. Anyway, as I said it's not going to affect me in practice, so I'll leave it here. Ultimately it'll be for the BDFL-delegate for this PEP to decide whether it's worth asking for a change in this area. Paul _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig