gituser/production/: uritemplate-3.0.1 metadata and description

Homepage Simple index

URI templates

author Ian Stapleton Cordasco
author_email graffatcolmingov@gmail.com
classifiers
  • Development Status :: 5 - Production/Stable
  • License :: OSI Approved
  • License :: OSI Approved :: BSD License
  • License :: OSI Approved :: Apache Software License
  • Intended Audience :: Developers
  • Programming Language :: Python
  • Programming Language :: Python :: 2
  • Programming Language :: Python :: 2.7
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3.4
  • Programming Language :: Python :: 3.5
  • Programming Language :: Python :: 3.6
  • Programming Language :: Python :: 3.7
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: Implementation :: CPython
description_content_type text/x-rst
license BSD 3-Clause License or Apache License, Version 2.0
requires_python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
File Tox results History
uritemplate-3.0.1-py2.py3-none-any.whl
Size
15 KB
Type
Python Wheel
Python
2.7
uritemplate-3.0.1.tar.gz
Size
32 KB
Type
Source

uritemplate

DocumentationGitHubTravis-CI

Simple python library to deal with URI Templates. The API looks like

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

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

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

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