176 lines
4.5 KiB
Text
176 lines
4.5 KiB
Text
|
Metadata-Version: 2.1
|
||
|
Name: uritemplate
|
||
|
Version: 3.0.1
|
||
|
Summary: URI templates
|
||
|
Home-page: https://uritemplate.readthedocs.org
|
||
|
Author: Ian Stapleton Cordasco
|
||
|
Author-email: graffatcolmingov@gmail.com
|
||
|
License: BSD 3-Clause License or Apache License, Version 2.0
|
||
|
Platform: UNKNOWN
|
||
|
Classifier: Development Status :: 5 - Production/Stable
|
||
|
Classifier: License :: OSI Approved
|
||
|
Classifier: License :: OSI Approved :: BSD License
|
||
|
Classifier: License :: OSI Approved :: Apache Software License
|
||
|
Classifier: Intended Audience :: Developers
|
||
|
Classifier: Programming Language :: Python
|
||
|
Classifier: Programming Language :: Python :: 2
|
||
|
Classifier: Programming Language :: Python :: 2.7
|
||
|
Classifier: Programming Language :: Python :: 3
|
||
|
Classifier: Programming Language :: Python :: 3.4
|
||
|
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: Programming Language :: Python :: Implementation :: CPython
|
||
|
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
|
||
|
Description-Content-Type: text/x-rst
|
||
|
|
||
|
uritemplate
|
||
|
===========
|
||
|
|
||
|
Documentation_ -- GitHub_ -- Travis-CI_
|
||
|
|
||
|
Simple python library to deal with `URI Templates`_. The API looks like
|
||
|
|
||
|
.. code-block:: python
|
||
|
|
||
|
from uritemplate import URITemplate, expand
|
||
|
|
||
|
# NOTE: URI params must be strings not integers
|
||
|
|
||
|
gist_uri = 'https://api.github.com/users/sigmavirus24/gists{/gist_id}'
|
||
|
t = URITemplate(gist_uri)
|
||
|
print(t.expand(gist_id='123456'))
|
||
|
# => https://api.github.com/users/sigmavirus24/gists/123456
|
||
|
|
||
|
# or
|
||
|
print(expand(gist_uri, gist_id='123456'))
|
||
|
|
||
|
# also
|
||
|
t.expand({'gist_id': '123456'})
|
||
|
print(expand(gist_uri, {'gist_id': '123456'}))
|
||
|
|
||
|
Where it might be useful to have a class
|
||
|
|
||
|
.. code-block:: python
|
||
|
|
||
|
import requests
|
||
|
|
||
|
class GitHubUser(object):
|
||
|
url = URITemplate('https://api.github.com/user{/login}')
|
||
|
def __init__(self, name):
|
||
|
self.api_url = url.expand(login=name)
|
||
|
response = requests.get(self.api_url)
|
||
|
if response.status_code == 200:
|
||
|
self.__dict__.update(response.json())
|
||
|
|
||
|
When the module containing this class is loaded, ``GitHubUser.url`` is
|
||
|
evaluated and so the template is created once. It's often hard to notice in
|
||
|
Python, but object creation can consume a great deal of time and so can the
|
||
|
``re`` module which uritemplate relies on. Constructing the object once should
|
||
|
reduce the amount of time your code takes to run.
|
||
|
|
||
|
Installing
|
||
|
----------
|
||
|
|
||
|
::
|
||
|
|
||
|
pip install uritemplate
|
||
|
|
||
|
License
|
||
|
-------
|
||
|
|
||
|
Modified BSD license_
|
||
|
|
||
|
|
||
|
.. _Documentation: https://uritemplate.readthedocs.io/
|
||
|
.. _GitHub: https://github.com/python-hyper/uritemplate
|
||
|
.. _Travis-CI: https://travis-ci.org/python-hyper/uritemplate
|
||
|
.. _URI Templates: http://tools.ietf.org/html/rfc6570
|
||
|
.. _license: https://github.com/python-hyper/uritemplate/blob/master/LICENSE
|
||
|
|
||
|
|
||
|
Changelog - uritemplate
|
||
|
=======================
|
||
|
|
||
|
3.0.1 - 2019-12-19
|
||
|
------------------
|
||
|
|
||
|
- Update to Python 3.6, 3.7, and 3.8
|
||
|
- Drop support for Python 2.6, 3.2, and 3.3
|
||
|
- Ignore ``None`` in list argument expansion
|
||
|
- Handle a list with an empty string appropriately
|
||
|
|
||
|
3.0.0 - 2016-08-29
|
||
|
------------------
|
||
|
|
||
|
- Match major version number of uritemplate.py
|
||
|
|
||
|
2.0.0 - 2016-08-29
|
||
|
------------------
|
||
|
|
||
|
- Merge uritemplate.py into uritemplate
|
||
|
|
||
|
|
||
|
Changelog - uritemplate.py
|
||
|
==========================
|
||
|
|
||
|
3.0.2 - 2015-08-30
|
||
|
------------------
|
||
|
|
||
|
- Fix meta-package requirements.
|
||
|
|
||
|
3.0.1 - 2015-08-29
|
||
|
------------------
|
||
|
|
||
|
- Deprecate in favor of uritemplate. This package is now a metapackage that
|
||
|
depends on uritemplate.
|
||
|
|
||
|
2.0.0 - 2016-08-20
|
||
|
------------------
|
||
|
|
||
|
- Relicense uritemplate.py as Apache 2 and BSD (See
|
||
|
https://github.com/sigmavirus24/uritemplate/pull/23)
|
||
|
|
||
|
1.0.1 - 2016-08-18
|
||
|
------------------
|
||
|
|
||
|
- Fix some minor packaging problems.
|
||
|
|
||
|
1.0.0 - 2016-08-17
|
||
|
------------------
|
||
|
|
||
|
- Fix handling of Unicode values on Python 2.6 and 2.7 for urllib.quote.
|
||
|
|
||
|
- Confirm public stable API via version number.
|
||
|
|
||
|
0.3.0 - 2013-10-22
|
||
|
------------------
|
||
|
|
||
|
- Add ``#partial`` to partially expand templates and return new instances of
|
||
|
``URITemplate``.
|
||
|
|
||
|
0.2.0 - 2013-07-26
|
||
|
------------------
|
||
|
|
||
|
- Refactor the library a bit and add more tests.
|
||
|
|
||
|
- Backwards incompatible with 0.1.x if using ``URIVariable`` directly from
|
||
|
``uritemplate.template``
|
||
|
|
||
|
0.1.1 - 2013-05-19
|
||
|
------------------
|
||
|
|
||
|
- Add ability to get set of variable names in the current URI
|
||
|
|
||
|
- If there is no value or default given, simply return an empty string
|
||
|
|
||
|
- Fix sdist
|
||
|
|
||
|
0.1.0 - 2013-05-14
|
||
|
------------------
|
||
|
|
||
|
- Initial Release
|
||
|
|
||
|
|