Cool URLs that don't change.
Hyperlink provides a pure-Python implementation of immutable URLs. Based on RFC 3986 and 3987, the Hyperlink URL makes working with both URIs and IRIs easy.
Hyperlink is tested against Python 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, and PyPy.
Full documentation is available on Read the Docs.
Hyperlink is a pure-Python package and requires nothing but Python. The easiest way to install is with pip:
pip install hyperlink
Then, hyperlink away!
from hyperlink import URL
url = URL.from_text(u'http://github.com/python-hyper/hyperlink?utm_source=README')
utm_source = url.get(u'utm_source')
better_url = url.replace(scheme=u'https', port=443)
org_url = better_url.click(u'.')
See the full API docs on Read the Docs.
Hyperlink would not have been possible without the help of Glyph Lefkowitz and many other community members, especially considering that it started as an extract from the Twisted networking library. Thanks to them, Hyperlink's URL has been production-grade for well over a decade.
Still, should you encounter any issues, do file an issue, or submit a pull request.