Hello community,
here is the log from the commit of package python-uritemplate for
openSUSE:Leap:15.2 checked in at 2020-03-02 13:24:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-uritemplate (Old)
and /work/SRC/openSUSE:Leap:15.2/.python-uritemplate.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-uritemplate"
Mon Mar 2 13:24:31 2020 rev:11 rq:777254 version:3.0.1
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/python-uritemplate/python-uritemplate.changes
2020-01-15 15:54:01.247617762 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.python-uritemplate.new.26092/python-uritemplate.changes
2020-03-02 13:24:32.218539087 +0100
@@ -1,0 +2,14 @@
+Fri Feb 7 15:44:07 UTC 2020 - Marketa Calabkova <[email protected]>
+
+- update to 3.0.1
+ * 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
+
+-------------------------------------------------------------------
+Tue Dec 4 12:55:40 UTC 2018 - Matej Cepl <[email protected]>
+
+- Remove superfluous devel dependency for noarch package
+
+-------------------------------------------------------------------
Old:
----
uritemplate-3.0.0.tar.gz
New:
----
uritemplate-3.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-uritemplate.spec ++++++
--- /var/tmp/diff_new_pack.7Ciz5x/_old 2020-03-02 13:24:32.538539723 +0100
+++ /var/tmp/diff_new_pack.7Ciz5x/_new 2020-03-02 13:24:32.542539730 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-uritemplate
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,28 +12,25 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-%bcond_without tests
-
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_without tests
Name: python-uritemplate
-Version: 3.0.0
+Version: 3.0.1
Release: 0
Summary: URI Template Expansison
License: Apache-2.0
Group: Development/Languages/Python
-Url: https://pypi.python.org/pypi/uritemplate
+URL: https://pypi.python.org/pypi/uritemplate
Source:
https://files.pythonhosted.org/packages/source/u/uritemplate/uritemplate-%{version}.tar.gz
-BuildRequires: fdupes
-BuildRequires: python-rpm-macros
-BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module simplejson}
+BuildRequires: fdupes
+BuildRequires: python-rpm-macros
Requires: python-simplejson
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%python_subpackages
@@ -59,8 +56,8 @@
%endif
%files %{python_files}
-%defattr(-,root,root,-)
-%doc AUTHORS.rst HISTORY.rst LICENSE LICENSE.* README.rst
+%license LICENSE LICENSE.*
+%doc AUTHORS.rst HISTORY.rst README.rst
%{python_sitelib}/*
%changelog
++++++ uritemplate-3.0.0.tar.gz -> uritemplate-3.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/AUTHORS.rst
new/uritemplate-3.0.1/AUTHORS.rst
--- old/uritemplate-3.0.0/AUTHORS.rst 2013-07-24 05:13:20.000000000 +0200
+++ new/uritemplate-3.0.1/AUTHORS.rst 2019-12-02 19:43:55.000000000 +0100
@@ -1,4 +1,15 @@
Development Lead
----------------
-- Ian Cordasco <[email protected]>
+- Ian Stapleton Cordasco <[email protected]>
+
+Contributors
+------------
+
+- Brett Cannon
+- Daniel Imhoff
+- Eugene Eeo
+- Jeff Potter
+- Philippe Ombredanne
+- Thierry Bastian
+- Thomas Grainger
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/HISTORY.rst
new/uritemplate-3.0.1/HISTORY.rst
--- old/uritemplate-3.0.0/HISTORY.rst 2016-08-30 02:12:54.000000000 +0200
+++ new/uritemplate-3.0.1/HISTORY.rst 2019-12-19 01:22:12.000000000 +0100
@@ -1,6 +1,19 @@
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
------------------
@@ -10,6 +23,17 @@
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
------------------
@@ -31,7 +55,7 @@
0.3.0 - 2013-10-22
------------------
-- Add ``#partial`` to partially expand templates and return new instances of
+- Add ``#partial`` to partially expand templates and return new instances of
``URITemplate``.
0.2.0 - 2013-07-26
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/LICENSE
new/uritemplate-3.0.1/LICENSE
--- old/uritemplate-3.0.0/LICENSE 2016-08-20 13:12:52.000000000 +0200
+++ new/uritemplate-3.0.1/LICENSE 2019-12-02 19:43:55.000000000 +0100
@@ -1,3 +1,3 @@
This software is made available under the terms of *either* of the licenses
-found in LICENSE.APACHE or LICENSE.BSD. Contributions to uritemplate.py are
+found in LICENSE.APACHE or LICENSE.BSD. Contributions to uritemplate are
made under the terms of *both* these licenses.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/PKG-INFO
new/uritemplate-3.0.1/PKG-INFO
--- old/uritemplate-3.0.0/PKG-INFO 2016-08-30 02:16:40.000000000 +0200
+++ new/uritemplate-3.0.1/PKG-INFO 2019-12-19 23:12:56.363223300 +0100
@@ -1,148 +1,173 @@
-Metadata-Version: 1.1
-Name: uritemplate
-Version: 3.0.0
-Summary: URI templates
-Home-page: https://uritemplate.readthedocs.org
-Author: Ian Cordasco
-Author-email: [email protected]
-License: BSD 3-Clause License or Apache License, Version 2.0
-Description: 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
-
-
- Changelog - uritemplate
- =======================
-
- 2.0.0 - 2016-08-29
- ------------------
-
- - Merge uritemplate.py into uritemplate
-
-
- Changelog - uritemplate.py
- ==========================
-
- 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.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.2
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: Implementation :: CPython
+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: [email protected]
+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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/README.rst
new/uritemplate-3.0.1/README.rst
--- old/uritemplate-3.0.0/README.rst 2015-02-24 03:57:25.000000000 +0100
+++ new/uritemplate-3.0.1/README.rst 2019-12-02 19:43:55.000000000 +0100
@@ -1,7 +1,7 @@
uritemplate
===========
-Documentation_ -- GitHub_ -- BitBucket_ -- Travis-CI_
+Documentation_ -- GitHub_ -- Travis-CI_
Simple python library to deal with `URI Templates`_. The API looks like
@@ -48,7 +48,7 @@
::
- pip install uritemplate.py
+ pip install uritemplate
License
-------
@@ -56,9 +56,8 @@
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
+.. _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/sigmavirus24/uritemplate/blob/master/LICENSE
+.. _license: https://github.com/python-hyper/uritemplate/blob/master/LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/setup.cfg
new/uritemplate-3.0.1/setup.cfg
--- old/uritemplate-3.0.0/setup.cfg 2016-08-30 02:16:40.000000000 +0200
+++ new/uritemplate-3.0.1/setup.cfg 2019-12-19 23:12:56.365223600 +0100
@@ -1,5 +1,7 @@
-[egg_info]
-tag_build =
-tag_date = 0
-tag_svn_revision = 0
-
+[bdist_wheel]
+universal = 1
+
+[egg_info]
+tag_build =
+tag_date = 0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/setup.py
new/uritemplate-3.0.1/setup.py
--- old/uritemplate-3.0.0/setup.py 2016-08-30 02:12:54.000000000 +0200
+++ new/uritemplate-3.0.1/setup.py 2019-12-19 23:11:12.000000000 +0100
@@ -1,3 +1,5 @@
+from io import open
+
from setuptools import setup
from uritemplate import __version__
@@ -6,19 +8,27 @@
'uritemplate'
]
+with open("README.rst", encoding="utf-8") as file:
+ readme = file.read()
+
+with open("HISTORY.rst", encoding="utf-8") as file:
+ history = file.read()
+
setup(
name="uritemplate",
version=__version__,
description='URI templates',
- long_description="\n\n".join([open("README.rst").read(),
- open("HISTORY.rst").read()]),
+ long_description="\n\n".join([readme, history]),
+ long_description_content_type="text/x-rst",
license="BSD 3-Clause License or Apache License, Version 2.0",
- author="Ian Cordasco",
+ author="Ian Stapleton Cordasco",
author_email="[email protected]",
url="https://uritemplate.readthedocs.org",
packages=packages,
- package_data={'': ['LICENSE', 'AUTHORS.rst']},
+ package_data={'': ['LICENSE', 'LICENSE.APACHE', 'LICENSE.BSD',
+ 'AUTHORS.rst']},
include_package_data=True,
+ python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
classifiers=[
'Development Status :: 5 - Production/Stable',
'License :: OSI Approved',
@@ -27,13 +37,13 @@
'Intended Audience :: Developers',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.2',
- 'Programming Language :: Python :: 3.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',
],
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/tests/fixtures/extended-tests.json
new/uritemplate-3.0.1/tests/fixtures/extended-tests.json
--- old/uritemplate-3.0.0/tests/fixtures/extended-tests.json 2015-10-05
03:44:07.000000000 +0200
+++ new/uritemplate-3.0.1/tests/fixtures/extended-tests.json 2019-12-19
01:17:13.000000000 +0100
@@ -11,7 +11,7 @@
"lang" : "en",
"geocode" : ["37.76","-122.427"],
"first_name" : "John",
- "last.name" : "Doe",
+ "last.name" : "Doe",
"Some%20Thing" : "foo",
"number" : 6,
"long" : 37.76,
@@ -28,7 +28,7 @@
"testcases":[
[ "{/id*}" , "/person" ],
- [ "{/id*}{?fields,first_name,last.name,token}" , [
+ [ "{/id*}{?fields,first_name,last.name,token}" , [
"/person?fields=id,name,picture&first_name=John&last.name=Doe&token=12345",
"/person?fields=id,picture,name&first_name=John&last.name=Doe&token=12345",
"/person?fields=picture,name,id&first_name=John&last.name=Doe&token=12345",
@@ -68,7 +68,7 @@
"testcases":[
[ "{/id*}" , ["/person/albums","/albums/person"] ],
- [ "{/id*}{?fields,token}" , [
+ [ "{/id*}{?fields,token}" , [
"/person/albums?fields=id,name,picture&token=12345",
"/person/albums?fields=id,picture,name&token=12345",
"/person/albums?fields=picture,name,id&token=12345",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/tests/test_from_fixtures.py
new/uritemplate-3.0.1/tests/test_from_fixtures.py
--- old/uritemplate-3.0.0/tests/test_from_fixtures.py 2016-08-17
23:24:02.000000000 +0200
+++ new/uritemplate-3.0.1/tests/test_from_fixtures.py 2019-12-19
01:17:13.000000000 +0100
@@ -1,3 +1,4 @@
+import io
import json
import os.path
@@ -12,7 +13,7 @@
def load_examples(filename):
path = fixture_file_path(filename)
- with open(path, 'r') as examples_file:
+ with io.open(path, 'r', encoding="utf-8") as examples_file:
examples = json.load(examples_file)
return examples
@@ -20,7 +21,7 @@
def expected_set(expected):
if isinstance(expected, list):
return set(expected)
- return set([expected])
+ return {expected}
class FixtureMixin(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/tests/test_uritemplate.py
new/uritemplate-3.0.1/tests/test_uritemplate.py
--- old/uritemplate-3.0.0/tests/test_uritemplate.py 2016-08-30
02:12:54.000000000 +0200
+++ new/uritemplate-3.0.1/tests/test_uritemplate.py 2019-12-02
19:43:55.000000000 +0100
@@ -464,6 +464,52 @@
None
)
+ def test_label_path_expansion_explode_slash(self):
+ t = URITemplate('{/foo*}')
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', [], True, '/'), None
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', [None], True, '/'), None
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', [None, None], True, '/'), None
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', ['one'], True, '/'), 'one'
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', ['one', 'two'], True, '/'), 'one/two'
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', ['one', None, 'two'], True, '/'), 'one/two'
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', [''], True, '/'), ''
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', ['', ''], True, '/'), '/'
+ )
+
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', {}, True, '/'), None
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', {'one': ''}, True, '/'), 'one='
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', {'one': '', 'two': ''}, True, '/'), 'one=/two='
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', {'one': None}, True, '/'), None
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', {'one': None, 'two': 'two'}, True, '/'), 'two=two'
+ )
+ self.assertEqual(t.variables[0]._label_path_expansion(
+ 'foo', {'one': None, 'two': None}, True, '/'), None
+ )
+
def test_semi_path_expansion(self):
t = URITemplate('{foo}')
v = t.variables[0]
@@ -544,24 +590,24 @@
class TestVariableModule(TestCase):
def test_is_list_of_tuples(self):
- l = [(1, 2), (3, 4)]
- self.assertEqual(variable.is_list_of_tuples(l), (True, l))
+ a_list = [(1, 2), (3, 4)]
+ self.assertEqual(variable.is_list_of_tuples(a_list), (True, a_list))
- l = [1, 2, 3, 4]
- self.assertEqual(variable.is_list_of_tuples(l), (False, None))
+ a_list = [1, 2, 3, 4]
+ self.assertEqual(variable.is_list_of_tuples(a_list), (False, None))
def test_list_test(self):
- l = [1, 2, 3, 4]
- self.assertEqual(variable.list_test(l), True)
+ a_list = [1, 2, 3, 4]
+ self.assertEqual(variable.list_test(a_list), True)
- l = str([1, 2, 3, 4])
- self.assertEqual(variable.list_test(l), False)
+ a_list = str([1, 2, 3, 4])
+ self.assertEqual(variable.list_test(a_list), False)
def test_list_of_tuples_test(self):
- l = [(1, 2), (3, 4)]
- self.assertEqual(variable.dict_test(l), False)
+ a_list = [(1, 2), (3, 4)]
+ self.assertEqual(variable.dict_test(a_list), False)
- d = dict(l)
+ d = dict(a_list)
self.assertEqual(variable.dict_test(d), True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/uritemplate/__init__.py
new/uritemplate-3.0.1/uritemplate/__init__.py
--- old/uritemplate-3.0.0/uritemplate/__init__.py 2016-08-30
02:13:35.000000000 +0200
+++ new/uritemplate-3.0.1/uritemplate/__init__.py 2019-12-19
01:17:13.000000000 +0100
@@ -16,7 +16,7 @@
__author__ = 'Ian Cordasco'
__license__ = 'Modified BSD or Apache License, Version 2.0'
__copyright__ = 'Copyright 2013 Ian Cordasco'
-__version__ = '3.0.0'
+__version__ = '3.0.1'
__version_info__ = tuple(int(i) for i in __version__.split('.') if i.isdigit())
from uritemplate.api import (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/uritemplate/api.py
new/uritemplate-3.0.1/uritemplate/api.py
--- old/uritemplate-3.0.0/uritemplate/api.py 2016-08-30 02:12:54.000000000
+0200
+++ new/uritemplate-3.0.1/uritemplate/api.py 2019-12-02 19:43:55.000000000
+0100
@@ -6,6 +6,8 @@
This module contains the very simple API provided by uritemplate.
"""
+
+from uritemplate.orderedset import OrderedSet
from uritemplate.template import URITemplate
@@ -68,4 +70,4 @@
# => {'username', 'repository'}
"""
- return set(URITemplate(uri).variable_names)
+ return OrderedSet(URITemplate(uri).variable_names)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/uritemplate/orderedset.py
new/uritemplate-3.0.1/uritemplate/orderedset.py
--- old/uritemplate-3.0.0/uritemplate/orderedset.py 1970-01-01
01:00:00.000000000 +0100
+++ new/uritemplate-3.0.1/uritemplate/orderedset.py 2019-12-02
19:43:55.000000000 +0100
@@ -0,0 +1,90 @@
+# From:
https://github.com/ActiveState/code/blob/master/recipes/Python/576696_OrderedSet_with_Weakrefs/
# noqa
+
+from weakref import proxy
+
+try:
+ import collections.abc as collections_abc
+except ImportError:
+ import collections as collections_abc
+
+
+class Link(object):
+ __slots__ = 'prev', 'next', 'key', '__weakref__'
+
+
+class OrderedSet(collections_abc.MutableSet):
+ 'Set the remembers the order elements were added'
+ # Big-O running times for all methods are the same as for regular sets.
+ # The internal self.__map dictionary maps keys to links in a doubly linked
+ # list. The circular doubly linked list starts and ends with a sentinel
+ # element. The sentinel element never gets deleted (this simplifies the
+ # algorithm). The prev/next links are weakref proxies (to prevent circular
+ # references). Individual links are kept alive by the hard reference in
+ # self.__map. Those hard references disappear when a key is deleted from
+ # an OrderedSet.
+
+ def __init__(self, iterable=None):
+ self.__root = root = Link() # sentinel node for doubly linked list
+ root.prev = root.next = root
+ self.__map = {} # key --> link
+ if iterable is not None:
+ self |= iterable
+
+ def __len__(self):
+ return len(self.__map)
+
+ def __contains__(self, key):
+ return key in self.__map
+
+ def add(self, key):
+ # Store new key in a new link at the end of the linked list
+ if key not in self.__map:
+ self.__map[key] = link = Link()
+ root = self.__root
+ last = root.prev
+ link.prev, link.next, link.key = last, root, key
+ last.next = root.prev = proxy(link)
+
+ def discard(self, key):
+ # Remove an existing item using self.__map to find the link which is
+ # then removed by updating the links in the predecessor and successors.
+ if key in self.__map:
+ link = self.__map.pop(key)
+ link.prev.next = link.next
+ link.next.prev = link.prev
+
+ def __iter__(self):
+ # Traverse the linked list in order.
+ root = self.__root
+ curr = root.next
+ while curr is not root:
+ yield curr.key
+ curr = curr.next
+
+ def __reversed__(self):
+ # Traverse the linked list in reverse order.
+ root = self.__root
+ curr = root.prev
+ while curr is not root:
+ yield curr.key
+ curr = curr.prev
+
+ def pop(self, last=True):
+ if not self:
+ raise KeyError('set is empty')
+ key = next(reversed(self)) if last else next(iter(self))
+ self.discard(key)
+ return key
+
+ def __repr__(self):
+ if not self:
+ return '%s()' % (self.__class__.__name__,)
+ return '%s(%r)' % (self.__class__.__name__, list(self))
+
+ def __str__(self):
+ return self.__repr__()
+
+ def __eq__(self, other):
+ if isinstance(other, OrderedSet):
+ return len(self) == len(other) and list(self) == list(other)
+ return not self.isdisjoint(other)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/uritemplate/template.py
new/uritemplate-3.0.1/uritemplate/template.py
--- old/uritemplate-3.0.0/uritemplate/template.py 2015-10-04
19:03:57.000000000 +0200
+++ new/uritemplate-3.0.1/uritemplate/template.py 2019-12-02
19:43:55.000000000 +0100
@@ -16,9 +16,10 @@
"""
import re
+from uritemplate.orderedset import OrderedSet
from uritemplate.variable import URIVariable
-template_re = re.compile('{([^\}]+)}')
+template_re = re.compile('{([^}]+)}')
def _merge(var_dict, overrides):
@@ -71,9 +72,10 @@
URIVariable(m.groups()[0]) for m in template_re.finditer(self.uri)
]
#: A set of variable names in the URI.
- self.variable_names = set()
+ self.variable_names = OrderedSet()
for variable in self.variables:
- self.variable_names.update(variable.variable_names)
+ for name in variable.variable_names:
+ self.variable_names.add(name)
def __repr__(self):
return 'URITemplate("%s")' % self
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/uritemplate/variable.py
new/uritemplate-3.0.1/uritemplate/variable.py
--- old/uritemplate-3.0.0/uritemplate/variable.py 2016-08-17
23:19:18.000000000 +0200
+++ new/uritemplate-3.0.1/uritemplate/variable.py 2019-12-02
19:43:55.000000000 +0100
@@ -15,12 +15,16 @@
"""
-import collections
import sys
-if (2, 6) <= sys.version_info < (2, 8):
+try:
+ import collections.abc as collections_abc
+except ImportError:
+ import collections as collections_abc
+
+if sys.version_info.major == 2:
import urllib
-elif (3, 3) <= sys.version_info < (4, 0):
+elif sys.version_info.major == 3:
import urllib.parse as urllib
@@ -149,11 +153,11 @@
return None
if explode:
return self.join_str.join(
- '%s=%s' % (name, quote(v, safe)) for v in value
+ '{}={}'.format(name, quote(v, safe)) for v in value
)
else:
value = ','.join(quote(v, safe) for v in value)
- return '%s=%s' % (name, value)
+ return '{}={}'.format(name, value)
if dict_test(value) or tuples:
if not value:
@@ -161,21 +165,21 @@
items = items or sorted(value.items())
if explode:
return self.join_str.join(
- '%s=%s' % (
+ '{}={}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items
)
else:
value = ','.join(
- '%s,%s' % (
+ '{},{}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items
)
- return '%s=%s' % (name, value)
+ return '{}={}'.format(name, value)
if value:
value = value[:prefix] if prefix else value
- return '%s=%s' % (name, quote(value, safe))
+ return '{}={}'.format(name, quote(value, safe))
return name + '='
def _label_path_expansion(self, name, value, explode, prefix):
@@ -196,10 +200,8 @@
if not explode:
join_str = ','
- expanded = join_str.join(
- quote(v, safe) for v in value if value is not None
- )
- return expanded if expanded else None
+ fragments = [quote(v, safe) for v in value if v is not None]
+ return join_str.join(fragments) if fragments else None
if dict_test(value) or tuples:
items = items or sorted(value.items())
@@ -234,35 +236,35 @@
if list_test(value) and not tuples:
if explode:
expanded = join_str.join(
- '%s=%s' % (
+ '{}={}'.format(
name, quote(v, safe)
) for v in value if v is not None
)
return expanded if expanded else None
else:
value = ','.join(quote(v, safe) for v in value)
- return '%s=%s' % (name, value)
+ return '{}={}'.format(name, value)
if dict_test(value) or tuples:
items = items or sorted(value.items())
if explode:
return join_str.join(
- '%s=%s' % (
+ '{}={}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items if v is not None
)
else:
expanded = ','.join(
- '%s,%s' % (
+ '{},{}'.format(
quote(k, safe), quote(v, safe)
) for k, v in items if v is not None
)
- return '%s=%s' % (name, expanded)
+ return '{}={}'.format(name, expanded)
value = value[:prefix] if prefix else value
if value:
- return '%s=%s' % (name, quote(value, safe))
+ return '{}={}'.format(name, quote(value, safe))
return name
@@ -360,7 +362,7 @@
def dict_test(value):
- return isinstance(value, (dict, collections.MutableMapping))
+ return isinstance(value, (dict, collections_abc.MutableMapping))
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/uritemplate.egg-info/PKG-INFO
new/uritemplate-3.0.1/uritemplate.egg-info/PKG-INFO
--- old/uritemplate-3.0.0/uritemplate.egg-info/PKG-INFO 2016-08-30
02:16:40.000000000 +0200
+++ new/uritemplate-3.0.1/uritemplate.egg-info/PKG-INFO 2019-12-19
23:12:55.000000000 +0100
@@ -1,148 +1,173 @@
-Metadata-Version: 1.1
-Name: uritemplate
-Version: 3.0.0
-Summary: URI templates
-Home-page: https://uritemplate.readthedocs.org
-Author: Ian Cordasco
-Author-email: [email protected]
-License: BSD 3-Clause License or Apache License, Version 2.0
-Description: 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
-
-
- Changelog - uritemplate
- =======================
-
- 2.0.0 - 2016-08-29
- ------------------
-
- - Merge uritemplate.py into uritemplate
-
-
- Changelog - uritemplate.py
- ==========================
-
- 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.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.2
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: Implementation :: CPython
+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: [email protected]
+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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/uritemplate-3.0.0/uritemplate.egg-info/SOURCES.txt
new/uritemplate-3.0.1/uritemplate.egg-info/SOURCES.txt
--- old/uritemplate-3.0.0/uritemplate.egg-info/SOURCES.txt 2016-08-30
02:16:40.000000000 +0200
+++ new/uritemplate-3.0.1/uritemplate.egg-info/SOURCES.txt 2019-12-19
23:12:56.000000000 +0100
@@ -5,6 +5,7 @@
LICENSE.BSD
MANIFEST.in
README.rst
+setup.cfg
setup.py
docs/Makefile
docs/conf.py
@@ -20,6 +21,7 @@
tests/fixtures/transform-json-tests.xslt
uritemplate/__init__.py
uritemplate/api.py
+uritemplate/orderedset.py
uritemplate/template.py
uritemplate/variable.py
uritemplate.egg-info/PKG-INFO