Immutable, Pythonic, correct URLs. (LADI project)
Go to file
Mahmoud Hashemi a3a59b62a6 bump docs version 2019-04-07 23:55:18 -07:00
docs bump docs version 2019-04-07 23:55:18 -07:00
hyperlink update docstring wording 2019-04-07 23:24:05 -07:00
.gitignore gitignore .coverage files 2017-06-17 11:13:40 -07:00
.tox-coveragerc update tests to reflect new unescaped-equal-signs-in-query-param-values regime (see #38). 2019-03-26 09:41:55 -07:00
.travis.yml add packaging test to travis 2017-07-18 01:23:45 -07:00
CHANGELOG.md initial CHANGELOG for 18.0.0 2018-02-26 00:10:20 -08:00
LICENSE MIT 2017-04-15 15:23:48 -07:00
MANIFEST.in add more files to the sdist, plus a check-manifest-based tox test that everything is included 2017-07-17 19:39:29 -07:00
README.md Unicode literals for Python 2 compatibility; fix typo in index.rst. 2018-04-18 20:35:08 -07:00
TODO.md DecodedURL pretty much fully covered by tests 2018-01-06 14:40:58 -08:00
appveyor.yml Call coverage xml manually before codecov 2017-04-22 13:15:30 -07:00
pytest.ini add pytest.ini to enable doctest ALLOW_UNICODE (to get rid of errors on u'') 2017-03-13 23:09:25 -07:00
requirements-test.txt working integration of the idna package, with certain invalid (doc)tests purged and replaced, fixes #19 2018-01-06 20:14:51 -08:00
setup.cfg add setup.cfg for universal wheels 2017-05-06 17:21:52 -07:00
setup.py bump version for 19.0.0 release 2019-04-07 23:54:36 -07:00
tox.ini update tests to reflect new unescaped-equal-signs-in-query-param-values regime (see #38). 2019-03-26 09:41:55 -07:00

README.md

Hyperlink

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, and PyPy.

Full documentation is available on Read the Docs.

Installation

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.

More information

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.