hyperlink
latest
  • Hyperlink Design
  • Hyperlink API
  • FAQ
hyperlink
  • Docs »
  • hyperlink
  • Edit on GitHub

hyperlink¶

Cool URLs that don’t change.

release calver changelog

Hyperlink provides a pure-Python implementation of immutable URLs. Based on RFC 3986 and RFC 3987, the Hyperlink URL balances simplicity and correctness for both URIs and IRIs.

Hyperlink is tested against Python 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, and PyPy.

For an introduction to the hyperlink library, its background, and URLs in general, see this talk from PyConWeb 2017 (and the accompanying slides).

Installation and Integration¶

Hyperlink is a pure-Python package and only depends on the standard library. The easiest way to install is with pip:

pip install hyperlink

Then, URLs are just an import away:

import hyperlink

url = hyperlink.parse(u'http://github.com/python-hyper/hyperlink?utm_source=readthedocs')

better_url = url.replace(scheme=u'https', port=443)
org_url = better_url.click(u'.')

print(org_url.to_text())
# prints: https://github.com/python-hyper/

print(better_url.get(u'utm_source')[0])
# prints: readthedocs

See the API docs for more usage examples.

Gaps¶

Found something missing in hyperlink? Pull Requests and Issues are welcome!

Table of Contents¶

  • Hyperlink Design
    • A Tale of Two Representations
    • Immutability
    • Query parameters
    • Origins and backwards-compatibility
  • Hyperlink API
    • Creation
    • Transformation
    • Navigation
    • Query Parameters
    • Attributes
    • Low-level functions
  • FAQ
    • Why not just use text?
    • How does Hyperlink compare to other libraries?
    • Are URLs really a big deal in 201X?
Next

© Copyright 2021, Mahmoud Hashemi Revision ec7d1726.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
stable
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.