For various reasons, the urlparse module is not compliant with
current Internet standards, does not include Unicode support, and is
generally unusable with proprietary URI schemes. As stated in
Lib/urlparse.py:

RFC 3986 is considered the current standard and any future changes
to urlparse module should conform with it. The urlparse module is
currently not entirely compliant with this RFC due to defacto
scenarios for parsing, and for backward compatibility purposes,
some parsing quirks from older RFCs are retained.

This module aims to provide fully RFC 3986 compliant replacements for
some commonly used functions found in urlparse, plus additional
functions for handling Unicode, normalizing URI paths, and
conveniently composing URIs from their individual components.