python3-url-normalize (URL normalization for Python)
URI Normalization function:
-Take care of IDN domains.
-Always provide the URI scheme in lowercase characters.
-Always provide the host, if any, in lowercase characters.
-Only perform percent-encoding where it is essential.
-Always use uppercase A-through-F characters when percent-encoding
-Prevent dot-segments appearing in non-relative URI paths.
-For schemes that define a default authority, use an empty
authority if the default is desired.
-For schemes that define an empty path to be equivalent to a path
of "/", use "/".
-For schemes that define a port, use an empty port if the default
is desired
-All portions of the URI must be utf-8 encoded NFC from Unicode
strings
Inspired by Sam Ruby's urlnorm.py