125 lines
4.2 KiB
Plaintext
125 lines
4.2 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: uritools
|
|
Version: 3.0.0
|
|
Summary: URI parsing, classification and composition
|
|
Home-page: https://github.com/tkem/uritools/
|
|
Author: Thomas Kemmer
|
|
Author-email: tkemmer@computer.org
|
|
License: MIT
|
|
Platform: UNKNOWN
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Environment :: Other Environment
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.5
|
|
Classifier: Programming Language :: Python :: 3.6
|
|
Classifier: Programming Language :: Python :: 3.7
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
Requires-Python: ~=3.5
|
|
|
|
uritools
|
|
========================================================================
|
|
|
|
.. image:: https://img.shields.io/pypi/v/uritools
|
|
:target: https://pypi.org/project/uritools
|
|
:alt: Latest PyPI version
|
|
|
|
.. image:: https://img.shields.io/readthedocs/uritools
|
|
:target: https://uritools.readthedocs.io
|
|
:alt: Documentation build status
|
|
|
|
.. image:: https://img.shields.io/travis/tkem/uritools
|
|
:target: https://travis-ci.org/tkem/uritools
|
|
:alt: Travis CI build status
|
|
|
|
.. image:: https://img.shields.io/coveralls/tkem/uritools
|
|
:target: https://coveralls.io/r/tkem/uritools
|
|
:alt: Test coverage
|
|
|
|
.. image:: https://img.shields.io/github/license/tkem/uritools
|
|
:target: http://raw.github.com/tkem/uritools/master/LICENSE
|
|
:alt: License
|
|
|
|
This module provides RFC 3986 compliant functions for parsing,
|
|
classifying and composing URIs and URI references, largely replacing
|
|
the Python Standard Library's ``urllib.parse`` module.
|
|
|
|
.. code-block:: pycon
|
|
|
|
>>> from uritools import uricompose, urijoin, urisplit, uriunsplit
|
|
>>> uricompose(scheme='foo', host='example.com', port=8042,
|
|
... path='/over/there', query={'name': 'ferret'},
|
|
... fragment='nose')
|
|
'foo://example.com:8042/over/there?name=ferret#nose'
|
|
>>> parts = urisplit(_)
|
|
>>> parts.scheme
|
|
'foo'
|
|
>>> parts.authority
|
|
'example.com:8042'
|
|
>>> parts.getport(default=80)
|
|
8042
|
|
>>> parts.getquerydict().get('name')
|
|
['ferret']
|
|
>>> parts.isuri()
|
|
True
|
|
>>> parts.isabsuri()
|
|
False
|
|
>>> urijoin(uriunsplit(parts), '/right/here?name=swallow#beak')
|
|
'foo://example.com:8042/right/here?name=swallow#beak'
|
|
|
|
For various reasons, ``urllib.parse`` and its Python 2 predecessor
|
|
``urlparse`` are not compliant with current Internet standards. As
|
|
stated in `Lib/urllib/parse.py
|
|
<https://github.com/python/cpython/blob/3.8/Lib/urllib/parse.py>`_:
|
|
|
|
RFC 3986 is considered the current standard and any future changes
|
|
to urlparse module should conform with it. The urlparse module is
|
|
currently not entirely compliant with this RFC due to defacto
|
|
scenarios for parsing, and for backward compatibility purposes,
|
|
some parsing quirks from older RFCs are retained.
|
|
|
|
This module aims to provide fully RFC 3986 compliant replacements for
|
|
the most commonly used functions found in ``urllib.parse``. It also
|
|
includes functions for distinguishing between the different forms of
|
|
URIs and URI references, and for conveniently creating URIs from their
|
|
individual components.
|
|
|
|
|
|
Installation
|
|
------------------------------------------------------------------------
|
|
|
|
uritools is available from PyPI_ and can be installed by running::
|
|
|
|
pip install uritools
|
|
|
|
|
|
Project Resources
|
|
------------------------------------------------------------------------
|
|
|
|
- `Documentation`_
|
|
- `Issue tracker`_
|
|
- `Source code`_
|
|
- `Change log`_
|
|
|
|
|
|
License
|
|
------------------------------------------------------------------------
|
|
|
|
Copyright (c) 2014-2019 Thomas Kemmer.
|
|
|
|
Licensed under the `MIT License`_.
|
|
|
|
|
|
.. _PyPI: https://pypi.org/project/uritools/
|
|
.. _Documentation: https://uritools.readthedocs.io/
|
|
.. _Issue tracker: https://github.com/tkem/uritools/issues/
|
|
.. _Source code: https://github.com/tkem/uritools/
|
|
.. _Change log: https://github.com/tkem/uritools/blob/master/CHANGELOG.rst
|
|
.. _MIT License: http://raw.github.com/tkem/uritools/master/LICENSE
|
|
|
|
|