Hello community,

here is the log from the commit of package python-PyJWT for openSUSE:Factory 
checked in at 2019-02-24 16:56:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PyJWT (Old)
 and      /work/SRC/openSUSE:Factory/.python-PyJWT.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-PyJWT"

Sun Feb 24 16:56:45 2019 rev:18 rq:673109 version:1.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PyJWT/python-PyJWT.changes        
2019-01-24 14:02:44.616097486 +0100
+++ /work/SRC/openSUSE:Factory/.python-PyJWT.new.28833/python-PyJWT.changes     
2019-02-24 16:57:02.096861977 +0100
@@ -1,0 +2,17 @@
+Mon Feb  4 20:05:58 UTC 2019 - Hans-Peter Jansen <[email protected]>
+
+- update to version 1.7.1:
+  * Update test dependencies with pinned ranges
+  * Fix pytest deprecation warnings
+
+- update to version v1.7.0:
+  * Remove CRLF line endings #353
+  * Update usage.rst #360
+  * Support for Python 3.7 #375 #379 #384
+
+- removed pyjwt-pytest390.patch (fixed upstream)
+- removed pyjwt-python37.patch (fixed upstream)
+- removed dos2unix conversion of jwt/__main__.py (fixed upstream)
+- add test build conditional
+
+-------------------------------------------------------------------

Old:
----
  PyJWT-1.6.4.tar.gz
  pyjwt-pytest390.patch
  pyjwt-python37.patch

New:
----
  PyJWT-1.7.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-PyJWT.spec ++++++
--- /var/tmp/diff_new_pack.KLPdQs/_old  2019-02-24 16:57:05.596860312 +0100
+++ /var/tmp/diff_new_pack.KLPdQs/_new  2019-02-24 16:57:05.596860312 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-PyJWT
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,23 +16,21 @@
 #
 
 
+%bcond_without test
+
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-PyJWT
-Version:        1.6.4
+Version:        1.7.1
 Release:        0
 Summary:        JSON Web Token implementation in Python
 License:        MIT
 Group:          Development/Languages/Python
 URL:            https://github.com/progrium/pyjwt
 Source:         
https://files.pythonhosted.org/packages/source/P/PyJWT/PyJWT-%{version}.tar.gz
-Patch0:         pyjwt-python37.patch
-# fix testsuite with pytest >= 3.9.0, see: 
https://github.com/jpadilla/pyjwt/issues/382
-Patch1:         pyjwt-pytest390.patch
 BuildRequires:  %{python_module cryptography >= 1.4}
 BuildRequires:  %{python_module ecdsa}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
-BuildRequires:  dos2unix
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-cryptography >= 1.4
@@ -48,10 +46,6 @@
 
 %prep
 %setup -q -n PyJWT-%{version}
-%patch0 -p1
-%patch1 -p1
-
-dos2unix jwt/__main__.py
 
 %build
 %python_build
@@ -71,8 +65,10 @@
 %postun
 %python_uninstall_alternative pyjwt
 
+%if %{with test}
 %check
 %{python_expand PYTHONPATH=%{buildroot}%{python_sitelib} 
py.test-%{$python_version} -o addopts="" -k "not test_verify_false_deprecated" }
+%endif
 
 %files %{python_files}
 %license LICENSE

++++++ PyJWT-1.6.4.tar.gz -> PyJWT-1.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/CHANGELOG.md new/PyJWT-1.7.1/CHANGELOG.md
--- old/PyJWT-1.6.4/CHANGELOG.md        2018-05-24 04:46:17.000000000 +0200
+++ new/PyJWT-1.7.1/CHANGELOG.md        2018-12-06 13:32:02.000000000 +0100
@@ -12,6 +12,29 @@
 
 ### Added
 
+[v1.7.1][1.7.1]
+-------------------------------------------------------------------------
+
+### Fixed
+
+- Update test dependencies with pinned ranges
+- Fix pytest deprecation warnings
+
+[v1.7.0][1.7.0]
+-------------------------------------------------------------------------
+
+### Changed
+
+- Remove CRLF line endings [#353][353]
+
+### Fixed
+
+- Update usage.rst [#360][360]
+
+### Added
+
+- Support for Python 3.7 [#375][375] [#379][379] [#384][384]
+
 [v1.6.4][1.6.4]
 -------------------------------------------------------------------------
 ### Fixed
@@ -212,6 +235,8 @@
 [1.6.1]: https://github.com/jpadilla/pyjwt/compare/1.6.0...1.6.1
 [1.6.3]: https://github.com/jpadilla/pyjwt/compare/1.6.1...1.6.3
 [1.6.4]: https://github.com/jpadilla/pyjwt/compare/1.6.3...1.6.4
+[1.7.0]: https://github.com/jpadilla/pyjwt/compare/1.6.4...1.7.0
+[1.7.1]: https://github.com/jpadilla/pyjwt/compare/1.7.0...1.7.1
 
 [109]: https://github.com/jpadilla/pyjwt/pull/109
 [110]: https://github.com/jpadilla/pyjwt/pull/110
@@ -258,5 +283,10 @@
 [344]: https://github.com/jpadilla/pyjwt/pull/344
 [350]: https://github.com/jpadilla/pyjwt/pull/350
 [352]: https://github.com/jpadilla/pyjwt/pull/352
+[353]: https://github.com/jpadilla/pyjwt/pull/353
+[360]: https://github.com/jpadilla/pyjwt/pull/360
+[375]: https://github.com/jpadilla/pyjwt/pull/375
+[379]: https://github.com/jpadilla/pyjwt/pull/379
+[384]: https://github.com/jpadilla/pyjwt/pull/384
 [7c1e61d]: 
https://github.com/jpadilla/pyjwt/commit/7c1e61dde27bafe16e7d1bb6e35199e778962742
 [7ca41e]: 
https://github.com/jpadilla/pyjwt/commit/7ca41e53b3d7d9f5cd31bdd8a2b832d192006239
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/PKG-INFO new/PyJWT-1.7.1/PKG-INFO
--- old/PyJWT-1.6.4/PKG-INFO    2018-05-24 04:46:42.000000000 +0200
+++ new/PyJWT-1.7.1/PKG-INFO    2018-12-07 14:39:48.000000000 +0100
@@ -1,17 +1,16 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: PyJWT
-Version: 1.6.4
+Version: 1.7.1
 Summary: JSON Web Token implementation in Python
 Home-page: http://github.com/jpadilla/pyjwt
 Author: Jose Padilla
 Author-email: [email protected]
 License: MIT
-Description-Content-Type: UNKNOWN
 Description: PyJWT
         =====
         
-        .. image:: 
https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master
-           :target: http://travis-ci.org/jpadilla/pyjwt?branch=master
+        .. image:: https://travis-ci.com/jpadilla/pyjwt.svg?branch=master
+           :target: http://travis-ci.com/jpadilla/pyjwt?branch=master
         
         .. image:: 
https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true
            :target: https://ci.appveyor.com/project/jpadilla/pyjwt
@@ -68,8 +67,8 @@
         
         Decoding examples::
         
-            pyjwt --key=secret TOKEN
-            pyjwt --no-verify TOKEN
+            pyjwt --key=secret decode TOKEN
+            pyjwt decode --no-verify TOKEN
         
         See more options executing ``pyjwt --help``.
         
@@ -100,4 +99,8 @@
 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: Topic :: Utilities
+Provides-Extra: crypto
+Provides-Extra: flake8
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/PyJWT.egg-info/PKG-INFO 
new/PyJWT-1.7.1/PyJWT.egg-info/PKG-INFO
--- old/PyJWT-1.6.4/PyJWT.egg-info/PKG-INFO     2018-05-24 04:46:42.000000000 
+0200
+++ new/PyJWT-1.7.1/PyJWT.egg-info/PKG-INFO     2018-12-07 14:39:48.000000000 
+0100
@@ -1,17 +1,16 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: PyJWT
-Version: 1.6.4
+Version: 1.7.1
 Summary: JSON Web Token implementation in Python
 Home-page: http://github.com/jpadilla/pyjwt
 Author: Jose Padilla
 Author-email: [email protected]
 License: MIT
-Description-Content-Type: UNKNOWN
 Description: PyJWT
         =====
         
-        .. image:: 
https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master
-           :target: http://travis-ci.org/jpadilla/pyjwt?branch=master
+        .. image:: https://travis-ci.com/jpadilla/pyjwt.svg?branch=master
+           :target: http://travis-ci.com/jpadilla/pyjwt?branch=master
         
         .. image:: 
https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true
            :target: https://ci.appveyor.com/project/jpadilla/pyjwt
@@ -68,8 +67,8 @@
         
         Decoding examples::
         
-            pyjwt --key=secret TOKEN
-            pyjwt --no-verify TOKEN
+            pyjwt --key=secret decode TOKEN
+            pyjwt decode --no-verify TOKEN
         
         See more options executing ``pyjwt --help``.
         
@@ -100,4 +99,8 @@
 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: Topic :: Utilities
+Provides-Extra: crypto
+Provides-Extra: flake8
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/PyJWT.egg-info/requires.txt 
new/PyJWT-1.7.1/PyJWT.egg-info/requires.txt
--- old/PyJWT-1.6.4/PyJWT.egg-info/requires.txt 2018-05-24 04:46:42.000000000 
+0200
+++ new/PyJWT-1.7.1/PyJWT.egg-info/requires.txt 2018-12-07 14:39:48.000000000 
+0100
@@ -8,6 +8,6 @@
 pep8-naming
 
 [test]
-pytest<4,>3
-pytest-cov
-pytest-runner
+pytest<5.0.0,>=4.0.1
+pytest-cov<3.0.0,>=2.6.0
+pytest-runner<5.0.0,>=4.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/README.rst new/PyJWT-1.7.1/README.rst
--- old/PyJWT-1.6.4/README.rst  2018-03-03 15:45:20.000000000 +0100
+++ new/PyJWT-1.7.1/README.rst  2018-11-26 04:04:17.000000000 +0100
@@ -1,8 +1,8 @@
 PyJWT
 =====
 
-.. image:: https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master
-   :target: http://travis-ci.org/jpadilla/pyjwt?branch=master
+.. image:: https://travis-ci.com/jpadilla/pyjwt.svg?branch=master
+   :target: http://travis-ci.com/jpadilla/pyjwt?branch=master
 
 .. image:: 
https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true
    :target: https://ci.appveyor.com/project/jpadilla/pyjwt
@@ -59,8 +59,8 @@
 
 Decoding examples::
 
-    pyjwt --key=secret TOKEN
-    pyjwt --no-verify TOKEN
+    pyjwt --key=secret decode TOKEN
+    pyjwt decode --no-verify TOKEN
 
 See more options executing ``pyjwt --help``.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/jwt/__init__.py 
new/PyJWT-1.7.1/jwt/__init__.py
--- old/PyJWT-1.6.4/jwt/__init__.py     2018-05-24 04:46:17.000000000 +0200
+++ new/PyJWT-1.7.1/jwt/__init__.py     2018-12-06 13:30:15.000000000 +0100
@@ -10,7 +10,7 @@
 
 
 __title__ = 'pyjwt'
-__version__ = '1.6.4'
+__version__ = '1.7.1'
 __author__ = 'José Padilla'
 __license__ = 'MIT'
 __copyright__ = 'Copyright 2015-2018 José Padilla'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/jwt/__main__.py 
new/PyJWT-1.7.1/jwt/__main__.py
--- old/PyJWT-1.6.4/jwt/__main__.py     2018-03-03 15:45:20.000000000 +0100
+++ new/PyJWT-1.7.1/jwt/__main__.py     2018-11-26 04:04:17.000000000 +0100
@@ -1,168 +1,168 @@
-#!/usr/bin/env python
-
-from __future__ import absolute_import, print_function
-
-import argparse
-import json
-import sys
-import time
-
-from . import DecodeError, __version__, decode, encode
-
-
-def encode_payload(args):
-    # Try to encode
-    if args.key is None:
-        raise ValueError('Key is required when encoding. See --help for 
usage.')
-
-    # Build payload object to encode
-    payload = {}
-
-    for arg in args.payload:
-        k, v = arg.split('=', 1)
-
-        # exp +offset special case?
-        if k == 'exp' and v[0] == '+' and len(v) > 1:
-            v = str(int(time.time()+int(v[1:])))
-
-        # Cast to integer?
-        if v.isdigit():
-            v = int(v)
-        else:
-            # Cast to float?
-            try:
-                v = float(v)
-            except ValueError:
-                pass
-
-        # Cast to true, false, or null?
-        constants = {'true': True, 'false': False, 'null': None}
-
-        if v in constants:
-            v = constants[v]
-
-        payload[k] = v
-
-    token = encode(
-        payload,
-        key=args.key,
-        algorithm=args.algorithm
-    )
-
-    return token.decode('utf-8')
-
-
-def decode_payload(args):
-    try:
-        if args.token:
-            token = args.token
-        else:
-            if sys.stdin.isatty():
-                token = sys.stdin.readline().strip()
-            else:
-                raise IOError('Cannot read from stdin: terminal not a TTY')
-
-        token = token.encode('utf-8')
-        data = decode(token, key=args.key, verify=args.verify)
-
-        return json.dumps(data)
-
-    except DecodeError as e:
-        raise DecodeError('There was an error decoding the token: %s' % e)
-
-
-def build_argparser():
-
-    usage = '''
-    Encodes or decodes JSON Web Tokens based on input.
-
-    %(prog)s [options] <command> [options] input
-
-    Decoding examples:
-
-    %(prog)s --key=secret decode json.web.token
-    %(prog)s decode --no-verify json.web.token
-
-    Encoding requires the key option and takes space separated key/value pairs
-    separated by equals (=) as input. Examples:
-
-    %(prog)s --key=secret encode iss=me exp=1302049071
-    %(prog)s --key=secret encode foo=bar exp=+10
-
-    The exp key is special and can take an offset to current Unix time.
-    '''
-
-    arg_parser = argparse.ArgumentParser(
-        prog='pyjwt',
-        usage=usage
-    )
-
-    arg_parser.add_argument(
-        '-v', '--version',
-        action='version',
-        version='%(prog)s ' + __version__
-    )
-
-    arg_parser.add_argument(
-        '--key',
-        dest='key',
-        metavar='KEY',
-        default=None,
-        help='set the secret key to sign with'
-    )
-
-    arg_parser.add_argument(
-        '--alg',
-        dest='algorithm',
-        metavar='ALG',
-        default='HS256',
-        help='set crypto algorithm to sign with. default=HS256'
-    )
-
-    subparsers = arg_parser.add_subparsers(
-        title='PyJWT subcommands',
-        description='valid subcommands',
-        help='additional help'
-    )
-
-    # Encode subcommand
-    encode_parser = subparsers.add_parser('encode', help='use to encode a 
supplied payload')
-
-    payload_help = """Payload to encode. Must be a space separated list of 
key/value
-    pairs separated by equals (=) sign."""
-
-    encode_parser.add_argument('payload', nargs='+', help=payload_help)
-    encode_parser.set_defaults(func=encode_payload)
-
-    # Decode subcommand
-    decode_parser = subparsers.add_parser('decode', help='use to decode a 
supplied JSON web token')
-    decode_parser.add_argument(
-        'token',
-        help='JSON web token to decode.',
-        nargs='?')
-
-    decode_parser.add_argument(
-        '-n', '--no-verify',
-        action='store_false',
-        dest='verify',
-        default=True,
-        help='ignore signature and claims verification on decode'
-    )
-
-    decode_parser.set_defaults(func=decode_payload)
-
-    return arg_parser
-
-
-def main():
-    arg_parser = build_argparser()
-
-    try:
-        arguments = arg_parser.parse_args(sys.argv[1:])
-
-        output = arguments.func(arguments)
-
-        print(output)
-    except Exception as e:
-        print('There was an unforseen error: ', e)
-        arg_parser.print_help()
+#!/usr/bin/env python
+
+from __future__ import absolute_import, print_function
+
+import argparse
+import json
+import sys
+import time
+
+from . import DecodeError, __version__, decode, encode
+
+
+def encode_payload(args):
+    # Try to encode
+    if args.key is None:
+        raise ValueError('Key is required when encoding. See --help for 
usage.')
+
+    # Build payload object to encode
+    payload = {}
+
+    for arg in args.payload:
+        k, v = arg.split('=', 1)
+
+        # exp +offset special case?
+        if k == 'exp' and v[0] == '+' and len(v) > 1:
+            v = str(int(time.time()+int(v[1:])))
+
+        # Cast to integer?
+        if v.isdigit():
+            v = int(v)
+        else:
+            # Cast to float?
+            try:
+                v = float(v)
+            except ValueError:
+                pass
+
+        # Cast to true, false, or null?
+        constants = {'true': True, 'false': False, 'null': None}
+
+        if v in constants:
+            v = constants[v]
+
+        payload[k] = v
+
+    token = encode(
+        payload,
+        key=args.key,
+        algorithm=args.algorithm
+    )
+
+    return token.decode('utf-8')
+
+
+def decode_payload(args):
+    try:
+        if args.token:
+            token = args.token
+        else:
+            if sys.stdin.isatty():
+                token = sys.stdin.readline().strip()
+            else:
+                raise IOError('Cannot read from stdin: terminal not a TTY')
+
+        token = token.encode('utf-8')
+        data = decode(token, key=args.key, verify=args.verify)
+
+        return json.dumps(data)
+
+    except DecodeError as e:
+        raise DecodeError('There was an error decoding the token: %s' % e)
+
+
+def build_argparser():
+
+    usage = '''
+    Encodes or decodes JSON Web Tokens based on input.
+
+    %(prog)s [options] <command> [options] input
+
+    Decoding examples:
+
+    %(prog)s --key=secret decode json.web.token
+    %(prog)s decode --no-verify json.web.token
+
+    Encoding requires the key option and takes space separated key/value pairs
+    separated by equals (=) as input. Examples:
+
+    %(prog)s --key=secret encode iss=me exp=1302049071
+    %(prog)s --key=secret encode foo=bar exp=+10
+
+    The exp key is special and can take an offset to current Unix time.
+    '''
+
+    arg_parser = argparse.ArgumentParser(
+        prog='pyjwt',
+        usage=usage
+    )
+
+    arg_parser.add_argument(
+        '-v', '--version',
+        action='version',
+        version='%(prog)s ' + __version__
+    )
+
+    arg_parser.add_argument(
+        '--key',
+        dest='key',
+        metavar='KEY',
+        default=None,
+        help='set the secret key to sign with'
+    )
+
+    arg_parser.add_argument(
+        '--alg',
+        dest='algorithm',
+        metavar='ALG',
+        default='HS256',
+        help='set crypto algorithm to sign with. default=HS256'
+    )
+
+    subparsers = arg_parser.add_subparsers(
+        title='PyJWT subcommands',
+        description='valid subcommands',
+        help='additional help'
+    )
+
+    # Encode subcommand
+    encode_parser = subparsers.add_parser('encode', help='use to encode a 
supplied payload')
+
+    payload_help = """Payload to encode. Must be a space separated list of 
key/value
+    pairs separated by equals (=) sign."""
+
+    encode_parser.add_argument('payload', nargs='+', help=payload_help)
+    encode_parser.set_defaults(func=encode_payload)
+
+    # Decode subcommand
+    decode_parser = subparsers.add_parser('decode', help='use to decode a 
supplied JSON web token')
+    decode_parser.add_argument(
+        'token',
+        help='JSON web token to decode.',
+        nargs='?')
+
+    decode_parser.add_argument(
+        '-n', '--no-verify',
+        action='store_false',
+        dest='verify',
+        default=True,
+        help='ignore signature and claims verification on decode'
+    )
+
+    decode_parser.set_defaults(func=decode_payload)
+
+    return arg_parser
+
+
+def main():
+    arg_parser = build_argparser()
+
+    try:
+        arguments = arg_parser.parse_args(sys.argv[1:])
+
+        output = arguments.func(arguments)
+
+        print(output)
+    except Exception as e:
+        print('There was an unforseen error: ', e)
+        arg_parser.print_help()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/jwt/api_jws.py 
new/PyJWT-1.7.1/jwt/api_jws.py
--- old/PyJWT-1.6.4/jwt/api_jws.py      2018-05-24 04:46:17.000000000 +0200
+++ new/PyJWT-1.7.1/jwt/api_jws.py      2018-11-26 04:04:17.000000000 +0100
@@ -1,7 +1,6 @@
 import binascii
 import json
 import warnings
-from collections import Mapping
 try:
     # import required by mypy to perform type checking, not used for normal 
execution
     from typing import Callable, Dict, List, Optional, Union # NOQA
@@ -11,7 +10,7 @@
 from .algorithms import (
     Algorithm, get_default_algorithms, has_crypto, requires_cryptography  # 
NOQA
 )
-from .compat import binary_type, string_types, text_type
+from .compat import Mapping, binary_type, string_types, text_type
 from .exceptions import (
     DecodeError, InvalidAlgorithmError, InvalidSignatureError,
     InvalidTokenError
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/jwt/api_jwt.py 
new/PyJWT-1.7.1/jwt/api_jwt.py
--- old/PyJWT-1.6.4/jwt/api_jwt.py      2018-05-24 04:46:17.000000000 +0200
+++ new/PyJWT-1.7.1/jwt/api_jwt.py      2018-11-26 04:04:17.000000000 +0100
@@ -1,7 +1,6 @@
 import json
 import warnings
 from calendar import timegm
-from collections import Iterable, Mapping
 from datetime import datetime, timedelta
 try:
     # import required by mypy to perform type checking, not used for normal 
execution
@@ -11,7 +10,7 @@
 
 from .api_jws import PyJWS
 from .algorithms import Algorithm, get_default_algorithms  # NOQA
-from .compat import string_types
+from .compat import Iterable, Mapping, string_types
 from .exceptions import (
     DecodeError, ExpiredSignatureError, ImmatureSignatureError,
     InvalidAudienceError, InvalidIssuedAtError,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/jwt/compat.py 
new/PyJWT-1.7.1/jwt/compat.py
--- old/PyJWT-1.6.4/jwt/compat.py       2018-03-03 15:45:20.000000000 +0100
+++ new/PyJWT-1.7.1/jwt/compat.py       2018-11-26 04:04:17.000000000 +0100
@@ -20,6 +20,11 @@
 
 string_types = (text_type, binary_type)
 
+try:
+    # Importing ABCs from collections will be removed in PY3.8
+    from collections.abc import Iterable, Mapping
+except ImportError:
+    from collections import Iterable, Mapping
 
 try:
     constant_time_compare = hmac.compare_digest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/setup.py new/PyJWT-1.7.1/setup.py
--- old/PyJWT-1.6.4/setup.py    2018-03-03 15:45:20.000000000 +0100
+++ new/PyJWT-1.7.1/setup.py    2018-12-06 13:28:35.000000000 +0100
@@ -33,9 +33,9 @@
     sys.exit()
 
 tests_require = [
-    'pytest >3,<4',
-    'pytest-cov',
-    'pytest-runner',
+    'pytest>=4.0.1,<5.0.0',
+    'pytest-cov>=2.6.0,<3.0.0',
+    'pytest-runner>=4.2,<5.0.0',
 ]
 
 needs_pytest = set(('pytest', 'test', 'ptr')).intersection(sys.argv)
@@ -64,6 +64,7 @@
         'Programming Language :: Python :: 3.4',
         'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
+        'Programming Language :: Python :: 3.7',
         'Topic :: Utilities',
     ],
     test_suite='tests',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/tests/test_api_jws.py 
new/PyJWT-1.7.1/tests/test_api_jws.py
--- old/PyJWT-1.6.4/tests/test_api_jws.py       2018-03-03 15:45:20.000000000 
+0100
+++ new/PyJWT-1.7.1/tests/test_api_jws.py       2018-12-06 13:29:59.000000000 
+0100
@@ -294,7 +294,7 @@
                 jws.decode, example_jws, key=example_secret,
                 options={'verify_signature': False},
             )
-        except AssertionError:
+        except pytest.fail.Exception:
             pass
         else:
             assert False, "Unexpected DeprecationWarning raised."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/tests/test_api_jwt.py 
new/PyJWT-1.7.1/tests/test_api_jwt.py
--- old/PyJWT-1.6.4/tests/test_api_jwt.py       2018-03-18 14:35:35.000000000 
+0100
+++ new/PyJWT-1.7.1/tests/test_api_jwt.py       2018-12-06 13:15:22.000000000 
+0100
@@ -516,7 +516,7 @@
             pytest.deprecated_call(
                 jwt.decode, jwt_message, secret, verify=False,
             )
-        except AssertionError:
+        except pytest.fail.Exception:
             pass
         else:
             assert False, "Unexpected DeprecationWarning raised."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/tests/test_utils.py 
new/PyJWT-1.7.1/tests/test_utils.py
--- old/PyJWT-1.6.4/tests/test_utils.py 2018-03-03 15:45:20.000000000 +0100
+++ new/PyJWT-1.7.1/tests/test_utils.py 2018-12-06 13:22:52.000000000 +0100
@@ -11,7 +11,7 @@
     (255, b'_w'),
     (65537, b'AQAB'),
     (123456789, b'B1vNFQ'),
-    pytest.mark.xfail((-1, ''), raises=ValueError)
+    pytest.param(-1, '', marks=pytest.mark.xfail(raises=ValueError))
 ])
 def test_to_base64url_uint(inputval, expected):
     actual = to_base64url_uint(inputval)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PyJWT-1.6.4/tox.ini new/PyJWT-1.7.1/tox.ini
--- old/PyJWT-1.6.4/tox.ini     2018-05-19 14:42:58.000000000 +0200
+++ new/PyJWT-1.7.1/tox.ini     2018-11-26 04:04:17.000000000 +0100
@@ -1,5 +1,5 @@
 [tox]
-envlist = py{27,34,35,36}-crypto, py{27,35,36}-contrib_crypto, 
py{27,35,36}-nocrypto, flake8
+envlist = py{27,34,35,36,37}-crypto, py{27,35,36,37}-contrib_crypto, 
py{27,35,36,37}-nocrypto, flake8
 
 [testenv]
 commands =
@@ -15,4 +15,4 @@
 deps =
     flake8
     flake8-import-order
-    pep8-naming
\ No newline at end of file
+    pep8-naming


Reply via email to