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


Reply via email to