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
Description: 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
        
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
