175 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			175 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
 | 
						|
 | 
						|
 |