On Tue, 17 Nov 2015 09:46:21 +1300 Robert Collins <robe...@robertcollins.net> wrote: > > URI_reference = <URI | relative_ref> > URI = scheme ':' hier_part ('?' query )? ( '#' fragment)? > hier_part = ('//' authority path_abempty) | path_absolute | > path_rootless | path_empty > absolute_URI = scheme ':' hier_part ( '?' query )? > relative_ref = relative_part ( '?' query )? ( '#' fragment )? > relative_part = '//' authority path_abempty | path_absolute | > path_noscheme | path_empty > scheme = letter ( letter | digit | '+' | '-' | '.')* > authority = ( userinfo '@' )? host ( ':' port )? > userinfo = ( unreserved | pct_encoded | sub_delims | ':')* > host = IP_literal | IPv4address | reg_name > port = digit* > IP_literal = '[' ( IPv6address | IPvFuture) ']' > IPvFuture = 'v' hexdig+ '.' ( unreserved | sub_delims | ':')+ > IPv6address = ( > ( h16 ':'){6} ls32 > | '::' ( h16 ':'){5} ls32 > | ( h16 )? '::' ( h16 ':'){4} ls32 > | ( ( h16 ':')? h16 )? '::' ( h16 ':'){3} ls32 > | ( ( h16 ':'){0,2} h16 )? '::' ( h16 ':'){2} ls32 > | ( ( h16 ':'){0,3} h16 )? '::' h16 ':' ls32 > | ( ( h16 ':'){0,4} h16 )? '::' ls32 > | ( ( h16 ':'){0,5} h16 )? '::' h16 > | ( ( h16 ':'){0,6} h16 )? '::' )
It seems weird that the PEP tries to include an entire subgrammar for URIs, including even the parsing various kinds of IP addresses. Why not be lenient in their detection and leave actual definition of valid URIs to the IETF? It doesn't seem there is any point to embed/duplicate such knowledge in Python packaging tools. Regards Antoine. _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig