aboutsummaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst64
1 files changed, 64 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..2780d7b
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,64 @@
+uritemplate
+===========
+
+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 = '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.py
+
+License
+-------
+
+Modified BSD license_
+
+
+.. _Documentation: http://uritemplate.rtfd.org/
+.. _GitHub: https://github.com/sigmavirus24/uritemplate
+.. _BitBucket: https://bitbucket.org/icordasc/uritemplate
+.. _Travis-CI: https://travis-ci.org/sigmavirus24/uritemplate
+.. _URI Templates: http://tools.ietf.org/html/rfc6570
+.. _license: https://github.com/sigmavirus24/uritemplate/blob/master/LICENSE