Immutable, Pythonic, correct URLs. (LADI project)
Go to file
Wilfredo Sánchez 1b1e12a62e Merge branch 'master' into strategies
* master: (24 commits)
  Remove W504
  Add Glyph's text for #112.
  Note changes since 19.0.0
  Apply black to setup.py also
  Run black-reformat
  Couple more cleanup bits
  Ignore /htmldocs
  [requires.io] dependency update
  [requires.io] dependency update
  Spiff up the tox config a bit more
  There is no requirements-test.txt file in the source tree.
  Archor a few paths to the root of the source tree. Minor re-ordering.
  per CR: rephrase gibberish test docstring
  per CR: add https:/, enumerate the cases
  per CR: match __init__
  match __init__ doc
  per CR: explain in much more detail
  <79
  per CR: make the test a little more thorough, improve docstring
  fix up inconsistencies in parsing & textual representation of 'rooted' and 'uses_netloc'
  ...

# Conflicts:
#	.gitignore
#	MANIFEST.in
#	tox.ini
2020-04-14 17:18:58 -07:00
docs Update for tested Python versions 2019-12-29 19:30:02 +02:00
src/hyperlink Merge branch 'master' into strategies 2020-04-14 17:18:58 -07:00
.appveyor.yml Test Python 3.8 on Windows 2019-12-29 19:52:07 +02:00
.coveragerc Omit flycheck files. 2019-10-19 18:19:49 -07:00
.gitignore Merge branch 'master' into strategies 2020-04-14 17:18:58 -07:00
.travis.yml Spiff up the tox config a bit more 2020-04-01 19:34:40 -07:00
CHANGELOG.md Add Glyph's text for #112. 2020-04-06 12:07:35 -07:00
LICENSE Disable HealthCheck.too_slow in CI. 2019-11-06 16:42:28 -08:00
MANIFEST.in Compress the IDNA table 2020-03-30 15:42:18 -07:00
README.md Update for tested Python versions 2019-12-29 19:30:02 +02:00
TODO.md Fix a typo in the docs 2019-10-21 18:27:19 +01:00
pyproject.toml Check in black config 2020-01-25 15:25:47 -08: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
setup.cfg add setup.cfg for universal wheels 2017-05-06 17:21:52 -07:00
setup.py Apply black to setup.py also 2020-04-02 09:46:53 -07:00
tox.ini Merge branch 'master' into strategies 2020-04-14 17:18:58 -07:00

README.md

Hyperlink

Cool URLs that don't change.

Documentation PyPI Calendar Versioning Python Version Compatibility Code Coverage Requirements Status

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.

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.