There is an API to provide compatibility with :mod:`urllib.parse`, there is an API to parse a URI as a URI Reference, there's an API to provide validation of URIs, and finally there's an API to build URIs.
There's presently no support for IRIs as defined in RFC 3987.
|rfc3986| parses URIs much differently from :mod:`urllib.parse` so users may
see some subtle differences with very specific URLs that contain rough
edgecases. Regardless, we do our best to implement the same API so you should
be able to seemlessly swap |rfc3986| for
.. toctree:: :maxdepth: 2 user/parsing user/validating user/building