blob: 6e4ea38164093576955ceba09b62666cfd441b13 [file] [log] [blame]
Documentation_ -- GitHub_ -- BitBucket_ -- 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 = '{/gist_id}'
t = URITemplate(gist_uri)
# =>
# 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('{/login}')
def __init__(self, name):
self.api_url = url.expand(login=name)
response = requests.get(self.api_url)
if response.status_code == 200:
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.
pip install uritemplate
Modified BSD license_
.. _Documentation:
.. _GitHub:
.. _BitBucket:
.. _Travis-CI:
.. _URI Templates:
.. _license: