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

Reply via email to