Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-WSME for openSUSE:Factory checked in at 2023-12-01 21:27:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-WSME (Old) and /work/SRC/openSUSE:Factory/.python-WSME.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-WSME" Fri Dec 1 21:27:22 2023 rev:22 rq:1130307 version:0.12.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-WSME/python-WSME.changes 2022-04-16 00:14:45.689690139 +0200 +++ /work/SRC/openSUSE:Factory/.python-WSME.new.25432/python-WSME.changes 2023-12-01 21:27:39.070910837 +0100 @@ -1,0 +2,14 @@ +Fri Dec 1 16:48:47 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 0.12.1: + * setup: Fix classifier + * Drop support for Python < 3.8, use PTI test interface + * setup: Update classifiers + * Migrate to importlib.metadata + * Remove use of deprecated APIs + * Fix compatibility with recent Sphinx versions + * Fix flake8 issues + * tests: Migrate to pytest + * Fix code to work with Sphinx>5.0 + +------------------------------------------------------------------- Old: ---- WSME-0.11.0.tar.gz New: ---- WSME-0.12.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-WSME.spec ++++++ --- /var/tmp/diff_new_pack.hYfY8c/_old 2023-12-01 21:27:39.574929385 +0100 +++ /var/tmp/diff_new_pack.hYfY8c/_new 2023-12-01 21:27:39.578929532 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-WSME # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,10 +16,9 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} -%global skip_python2 1 +%{?sle15_python_module_pythons} Name: python-WSME -Version: 0.11.0 +Version: 0.12.1 Release: 0 Summary: Web Services Made Easy License: MIT ++++++ WSME-0.11.0.tar.gz -> WSME-0.12.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/.zuul.yaml new/WSME-0.12.1/.zuul.yaml --- old/WSME-0.11.0/.zuul.yaml 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/.zuul.yaml 2023-09-21 19:49:10.000000000 +0200 @@ -1,5 +1,5 @@ +--- - project: templates: - - openstack-python36-jobs - - openstack-python37-jobs - - openstack-python38-jobs + - openstack-python3-jobs + - publish-openstack-docs-pti diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/AUTHORS new/WSME-0.12.1/AUTHORS --- old/WSME-0.11.0/AUTHORS 2021-07-27 18:41:34.000000000 +0200 +++ new/WSME-0.12.1/AUTHORS 2023-09-22 11:24:46.000000000 +0200 @@ -28,9 +28,11 @@ Mehdi Abaakouk <sil...@sileht.net> Michael Johnson <johnso...@gmail.com> Michael Krotscheck <krotsch...@gmail.com> +Rafael Weingärtner <raf...@apache.org> Ryan Petrello <li...@ryanpetrello.com> Sanu Madhavan <sanup...@gmail.com> Sascha Peilicke <speili...@suse.com> +Stephen Finucane <sfinu...@redhat.com> Stephen Finucane <stephen...@redhat.com> Stéphane Bisinger <stephane.bisin...@gmail.com> SÅawek Ehlert <sl...@op.pl> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/ChangeLog new/WSME-0.12.1/ChangeLog --- old/WSME-0.11.0/ChangeLog 2021-07-27 18:41:34.000000000 +0200 +++ new/WSME-0.12.1/ChangeLog 2023-09-22 11:24:46.000000000 +0200 @@ -1,6 +1,23 @@ CHANGES ======= +0.12.1 +------ + +* setup: Fix classifier + +0.12.0 +------ + +* Drop support for Python < 3.8, use PTI test interface +* setup: Update classifiers +* Migrate to importlib.metadata +* Remove use of deprecated APIs +* Fix compatibility with recent Sphinx versions +* Fix flake8 issues +* tests: Migrate to pytest +* Fix code to work with Sphinx>5.0 + 0.11.0 ------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/PKG-INFO new/WSME-0.12.1/PKG-INFO --- old/WSME-0.11.0/PKG-INFO 2021-07-27 18:41:34.471736400 +0200 +++ new/WSME-0.12.1/PKG-INFO 2023-09-22 11:24:47.065422000 +0200 @@ -1,130 +1,130 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: WSME -Version: 0.11.0 +Version: 0.12.1 Summary: Simplify the writing of REST APIs, and extend them with additional protocols. Home-page: https://opendev.org/x/wsme Author: Christophe de Vienne Author-email: python-w...@googlegroups.com License: MIT -Description: Web Services Made Easy - ====================== - - Introduction - ------------ - - Web Services Made Easy (WSME) simplifies the writing of REST web services - by providing simple yet powerful typing, removing the need to directly - manipulate the request and the response objects. - - WSME can work standalone or on top of your favorite Python web - (micro)framework, so you can use both your preferred way of routing your REST - requests and most of the features of WSME that rely on the typing system like: - - - Alternate protocols, including those supporting batch-calls - - Easy documentation through a Sphinx_ extension - - WSME is originally a rewrite of TGWebServices with a focus on extensibility, - framework-independence and better type handling. - - How Easy? - ~~~~~~~~~ - - Here is a standalone WSGI example:: - - from wsme import WSRoot, expose - - class MyService(WSRoot): - @expose(unicode, unicode) # First parameter is the return type, - # then the function argument types - def hello(self, who=u'World'): - return u"Hello {0} !".format(who) - - ws = MyService(protocols=['restjson', 'restxml']) - application = ws.wsgiapp() - - With this published at the ``/ws`` path of your application, you can access your - hello function in various protocols: - - .. list-table:: - :header-rows: 1 - - * - URL - - Returns - - * - ``http://<server>/ws/hello.json?who=you`` - - ``"Hello you !"`` - - * - ``http://<server>/ws/hello.xml`` - - ``<result>Hello World !</result>`` - - Main features - ~~~~~~~~~~~~~ - - - Very simple API. - - - Supports user-defined simple and complex types. - - - Multi-protocol : REST+JSON, REST+XML and more possible. - - - Extensible : easy to add more protocols or more base types. - - - Framework independence : adapters are provided to easily integrate your API in - any web framework, for example an WSGI container, Pecan_, Flask_, ... - - - Very few runtime dependencies: webob, simplegeneric. - - - Integration in `Sphinx`_ for making clean documentation with - ``wsmeext.sphinxext``. - - .. _Pecan: http://pecanpy.org/ - .. _Flask: http://flask.pocoo.org/ - - Install - ~~~~~~~ - - :: - - pip install WSME - - Changes - ~~~~~~~ - - - Read the `Changelog`_ - - Getting Help - ~~~~~~~~~~~~ - - - Read the `WSME Documentation`_. - - Questions about WSME should go to the `python-wsme mailinglist`_. - - Contribute - ~~~~~~~~~~ - - - Documentation: http://packages.python.org/WSME/ - - Source: http://git.openstack.org/cgit/openstack/wsme - - Bugs: https://bugs.launchpad.net/wsme/+bugs - - Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z - - .. _Changelog: http://packages.python.org/WSME/changes.html - .. _python-wsme mailinglist: http://groups.google.com/group/python-wsme - .. _WSME Documentation: http://packages.python.org/WSME/ - .. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs - .. _Sphinx: http://sphinx.pocoo.org/ - - -Platform: UNKNOWN Classifier: Development Status :: 3 - Alpha Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -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 :: 3.9 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Programming Language :: Python :: 3 :: Only Classifier: License :: OSI Approved :: MIT License Classifier: Topic :: Internet :: WWW/HTTP :: WSGI Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.6 +Requires-Python: >=3.8 +License-File: LICENSE +License-File: AUTHORS +Requires-Dist: WebOb>=1.8.0 +Requires-Dist: simplegeneric +Requires-Dist: pytz +Requires-Dist: netaddr>=0.7.12 +Requires-Dist: importlib_metadata>=4.4 + +Web Services Made Easy +====================== + +Introduction +------------ + +Web Services Made Easy (WSME) simplifies the writing of REST web services +by providing simple yet powerful typing, removing the need to directly +manipulate the request and the response objects. + +WSME can work standalone or on top of your favorite Python web +(micro)framework, so you can use both your preferred way of routing your REST +requests and most of the features of WSME that rely on the typing system like: + +- Alternate protocols, including those supporting batch-calls +- Easy documentation through a Sphinx_ extension + +WSME is originally a rewrite of TGWebServices with a focus on extensibility, +framework-independence and better type handling. + +How Easy? +~~~~~~~~~ + +Here is a standalone WSGI example:: + + from wsme import WSRoot, expose + + class MyService(WSRoot): + @expose(unicode, unicode) # First parameter is the return type, + # then the function argument types + def hello(self, who=u'World'): + return u"Hello {0} !".format(who) + + ws = MyService(protocols=['restjson', 'restxml']) + application = ws.wsgiapp() + +With this published at the ``/ws`` path of your application, you can access your +hello function in various protocols: + +.. list-table:: + :header-rows: 1 + + * - URL + - Returns + + * - ``http://<server>/ws/hello.json?who=you`` + - ``"Hello you !"`` + + * - ``http://<server>/ws/hello.xml`` + - ``<result>Hello World !</result>`` + +Main features +~~~~~~~~~~~~~ + +- Very simple API. + +- Supports user-defined simple and complex types. + +- Multi-protocol : REST+JSON, REST+XML and more possible. + +- Extensible : easy to add more protocols or more base types. + +- Framework independence : adapters are provided to easily integrate your API in + any web framework, for example an WSGI container, Pecan_, Flask_, ... + +- Very few runtime dependencies: webob, simplegeneric. + +- Integration in `Sphinx`_ for making clean documentation with + ``wsmeext.sphinxext``. + +.. _Pecan: http://pecanpy.org/ +.. _Flask: http://flask.pocoo.org/ + +Install +~~~~~~~ + +:: + + pip install WSME + +Changes +~~~~~~~ + +- Read the `Changelog`_ + +Getting Help +~~~~~~~~~~~~ + +- Read the `WSME Documentation`_. +- Questions about WSME should go to the `python-wsme mailinglist`_. + +Contribute +~~~~~~~~~~ + +- Documentation: http://packages.python.org/WSME/ +- Source: http://git.openstack.org/cgit/openstack/wsme +- Bugs: https://bugs.launchpad.net/wsme/+bugs +- Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z + +.. _Changelog: http://packages.python.org/WSME/changes.html +.. _python-wsme mailinglist: http://groups.google.com/group/python-wsme +.. _WSME Documentation: http://packages.python.org/WSME/ +.. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs +.. _Sphinx: http://sphinx.pocoo.org/ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/PKG-INFO new/WSME-0.12.1/WSME.egg-info/PKG-INFO --- old/WSME-0.11.0/WSME.egg-info/PKG-INFO 2021-07-27 18:41:34.000000000 +0200 +++ new/WSME-0.12.1/WSME.egg-info/PKG-INFO 2023-09-22 11:24:46.000000000 +0200 @@ -1,130 +1,130 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: WSME -Version: 0.11.0 +Version: 0.12.1 Summary: Simplify the writing of REST APIs, and extend them with additional protocols. Home-page: https://opendev.org/x/wsme Author: Christophe de Vienne Author-email: python-w...@googlegroups.com License: MIT -Description: Web Services Made Easy - ====================== - - Introduction - ------------ - - Web Services Made Easy (WSME) simplifies the writing of REST web services - by providing simple yet powerful typing, removing the need to directly - manipulate the request and the response objects. - - WSME can work standalone or on top of your favorite Python web - (micro)framework, so you can use both your preferred way of routing your REST - requests and most of the features of WSME that rely on the typing system like: - - - Alternate protocols, including those supporting batch-calls - - Easy documentation through a Sphinx_ extension - - WSME is originally a rewrite of TGWebServices with a focus on extensibility, - framework-independence and better type handling. - - How Easy? - ~~~~~~~~~ - - Here is a standalone WSGI example:: - - from wsme import WSRoot, expose - - class MyService(WSRoot): - @expose(unicode, unicode) # First parameter is the return type, - # then the function argument types - def hello(self, who=u'World'): - return u"Hello {0} !".format(who) - - ws = MyService(protocols=['restjson', 'restxml']) - application = ws.wsgiapp() - - With this published at the ``/ws`` path of your application, you can access your - hello function in various protocols: - - .. list-table:: - :header-rows: 1 - - * - URL - - Returns - - * - ``http://<server>/ws/hello.json?who=you`` - - ``"Hello you !"`` - - * - ``http://<server>/ws/hello.xml`` - - ``<result>Hello World !</result>`` - - Main features - ~~~~~~~~~~~~~ - - - Very simple API. - - - Supports user-defined simple and complex types. - - - Multi-protocol : REST+JSON, REST+XML and more possible. - - - Extensible : easy to add more protocols or more base types. - - - Framework independence : adapters are provided to easily integrate your API in - any web framework, for example an WSGI container, Pecan_, Flask_, ... - - - Very few runtime dependencies: webob, simplegeneric. - - - Integration in `Sphinx`_ for making clean documentation with - ``wsmeext.sphinxext``. - - .. _Pecan: http://pecanpy.org/ - .. _Flask: http://flask.pocoo.org/ - - Install - ~~~~~~~ - - :: - - pip install WSME - - Changes - ~~~~~~~ - - - Read the `Changelog`_ - - Getting Help - ~~~~~~~~~~~~ - - - Read the `WSME Documentation`_. - - Questions about WSME should go to the `python-wsme mailinglist`_. - - Contribute - ~~~~~~~~~~ - - - Documentation: http://packages.python.org/WSME/ - - Source: http://git.openstack.org/cgit/openstack/wsme - - Bugs: https://bugs.launchpad.net/wsme/+bugs - - Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z - - .. _Changelog: http://packages.python.org/WSME/changes.html - .. _python-wsme mailinglist: http://groups.google.com/group/python-wsme - .. _WSME Documentation: http://packages.python.org/WSME/ - .. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs - .. _Sphinx: http://sphinx.pocoo.org/ - - -Platform: UNKNOWN Classifier: Development Status :: 3 - Alpha Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -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 :: 3.9 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Programming Language :: Python :: 3 :: Only Classifier: License :: OSI Approved :: MIT License Classifier: Topic :: Internet :: WWW/HTTP :: WSGI Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.6 +Requires-Python: >=3.8 +License-File: LICENSE +License-File: AUTHORS +Requires-Dist: WebOb>=1.8.0 +Requires-Dist: simplegeneric +Requires-Dist: pytz +Requires-Dist: netaddr>=0.7.12 +Requires-Dist: importlib_metadata>=4.4 + +Web Services Made Easy +====================== + +Introduction +------------ + +Web Services Made Easy (WSME) simplifies the writing of REST web services +by providing simple yet powerful typing, removing the need to directly +manipulate the request and the response objects. + +WSME can work standalone or on top of your favorite Python web +(micro)framework, so you can use both your preferred way of routing your REST +requests and most of the features of WSME that rely on the typing system like: + +- Alternate protocols, including those supporting batch-calls +- Easy documentation through a Sphinx_ extension + +WSME is originally a rewrite of TGWebServices with a focus on extensibility, +framework-independence and better type handling. + +How Easy? +~~~~~~~~~ + +Here is a standalone WSGI example:: + + from wsme import WSRoot, expose + + class MyService(WSRoot): + @expose(unicode, unicode) # First parameter is the return type, + # then the function argument types + def hello(self, who=u'World'): + return u"Hello {0} !".format(who) + + ws = MyService(protocols=['restjson', 'restxml']) + application = ws.wsgiapp() + +With this published at the ``/ws`` path of your application, you can access your +hello function in various protocols: + +.. list-table:: + :header-rows: 1 + + * - URL + - Returns + + * - ``http://<server>/ws/hello.json?who=you`` + - ``"Hello you !"`` + + * - ``http://<server>/ws/hello.xml`` + - ``<result>Hello World !</result>`` + +Main features +~~~~~~~~~~~~~ + +- Very simple API. + +- Supports user-defined simple and complex types. + +- Multi-protocol : REST+JSON, REST+XML and more possible. + +- Extensible : easy to add more protocols or more base types. + +- Framework independence : adapters are provided to easily integrate your API in + any web framework, for example an WSGI container, Pecan_, Flask_, ... + +- Very few runtime dependencies: webob, simplegeneric. + +- Integration in `Sphinx`_ for making clean documentation with + ``wsmeext.sphinxext``. + +.. _Pecan: http://pecanpy.org/ +.. _Flask: http://flask.pocoo.org/ + +Install +~~~~~~~ + +:: + + pip install WSME + +Changes +~~~~~~~ + +- Read the `Changelog`_ + +Getting Help +~~~~~~~~~~~~ + +- Read the `WSME Documentation`_. +- Questions about WSME should go to the `python-wsme mailinglist`_. + +Contribute +~~~~~~~~~~ + +- Documentation: http://packages.python.org/WSME/ +- Source: http://git.openstack.org/cgit/openstack/wsme +- Bugs: https://bugs.launchpad.net/wsme/+bugs +- Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z + +.. _Changelog: http://packages.python.org/WSME/changes.html +.. _python-wsme mailinglist: http://groups.google.com/group/python-wsme +.. _WSME Documentation: http://packages.python.org/WSME/ +.. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs +.. _Sphinx: http://sphinx.pocoo.org/ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/entry_points.txt new/WSME-0.12.1/WSME.egg-info/entry_points.txt --- old/WSME-0.11.0/WSME.egg-info/entry_points.txt 2021-07-27 18:41:34.000000000 +0200 +++ new/WSME-0.12.1/WSME.egg-info/entry_points.txt 2023-09-22 11:24:46.000000000 +0200 @@ -2,4 +2,3 @@ rest = wsme.rest.protocol:RestProtocol restjson = wsme.rest.protocol:RestProtocol restxml = wsme.rest.protocol:RestProtocol - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/pbr.json new/WSME-0.12.1/WSME.egg-info/pbr.json --- old/WSME-0.11.0/WSME.egg-info/pbr.json 2021-07-27 18:41:34.000000000 +0200 +++ new/WSME-0.12.1/WSME.egg-info/pbr.json 2023-09-22 11:24:46.000000000 +0200 @@ -1 +1 @@ -{"git_version": "80bda90", "is_release": true} \ No newline at end of file +{"git_version": "8312bb2", "is_release": true} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/requires.txt new/WSME-0.12.1/WSME.egg-info/requires.txt --- old/WSME-0.11.0/WSME.egg-info/requires.txt 2021-07-27 18:41:34.000000000 +0200 +++ new/WSME-0.12.1/WSME.egg-info/requires.txt 2023-09-22 11:24:46.000000000 +0200 @@ -1,4 +1,5 @@ WebOb>=1.8.0 -netaddr>=0.7.12 -pytz simplegeneric +pytz +netaddr>=0.7.12 +importlib_metadata>=4.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/requirements.txt new/WSME-0.12.1/requirements.txt --- old/WSME-0.11.0/requirements.txt 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/requirements.txt 2023-09-21 19:49:10.000000000 +0200 @@ -2,3 +2,5 @@ simplegeneric pytz netaddr>=0.7.12 +# TODO: Drop this when Python 3.10 is our minimum supported version +importlib_metadata>=4.4 # Apache-2.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/setup.cfg new/WSME-0.12.1/setup.cfg --- old/WSME-0.11.0/setup.cfg 2021-07-27 18:41:34.475736400 +0200 +++ new/WSME-0.12.1/setup.cfg 2023-09-22 11:24:47.066422000 +0200 @@ -1,24 +1,18 @@ [metadata] name = WSME -author = Christophe de Vienne -author-email = python-w...@googlegroups.com summary = Simplify the writing of REST APIs, and extend them with additional protocols. -description-file = README.rst +author = Christophe de Vienne +author_email = python-w...@googlegroups.com +description_file = README.rst url = https://opendev.org/x/wsme license = MIT -python_requires = >=3.6 +python_requires = >=3.8 classifier = Development Status :: 3 - Alpha Operating System :: OS Independent Programming Language :: Python Programming Language :: Python :: 3 - Programming Language :: Python :: 3.5 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: Implementation :: CPython - Programming Language :: Python :: Implementation :: PyPy + Programming Language :: Python :: 3 :: Only License :: OSI Approved :: MIT License Topic :: Internet :: WWW/HTTP :: WSGI Topic :: Software Development :: Libraries :: Python Modules diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/test-requirements.txt new/WSME-0.12.1/test-requirements.txt --- old/WSME-0.11.0/test-requirements.txt 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/test-requirements.txt 2023-09-21 19:49:10.000000000 +0200 @@ -2,7 +2,7 @@ pecan sphinx>=3.0.0 # BSD Flask -flask-restful -nose -coverage!=4.4,>=4.0 # Apache-2.0 -webtest +Flask-RESTful # BSD +pytest # MIT +pytest-cov # MIT +WebTest # MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/tox.ini new/WSME-0.12.1/tox.ini --- old/WSME-0.11.0/tox.ini 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/tox.ini 2023-09-21 19:49:10.000000000 +0200 @@ -1,29 +1,23 @@ [tox] minversion = 3.1 -envlist = py36,py37,py38,py39,pypy,coverage,pep8 -ignore_basepython_conflict = true +envlist = py3,coverage,pep8 [testenv] -basepython = python3 -setenv = - COVERAGE_FILE=.coverage.{envname} deps = -r test-requirements.txt commands = - {envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs} - {envbindir}/coverage report --show-missing --include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*" + pytest wsme/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py [testenv:coverage] -setenv = - COVERAGE_FILE=.coverage commands = - {envbindir}/coverage erase - {envbindir}/coverage combine - {envbindir}/coverage xml --include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*" - {envbindir}/coverage report --show-missing --include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*" + coverage erase + pytest --cov=wsme --cov=wsme_ext wsme/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py + coverage combine + coverage xml --include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*" + coverage report --show-missing --include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*" [testenv:docs] -whitelist_externals = +allowlist_externals = rm deps = -r doc/requirements.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/wsme/protocol.py new/WSME-0.12.1/wsme/protocol.py --- old/WSME-0.11.0/wsme/protocol.py 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/wsme/protocol.py 2023-09-21 19:49:10.000000000 +0200 @@ -1,6 +1,6 @@ import weakref -import pkg_resources +import importlib_metadata from wsme.exc import ClientSideError @@ -106,8 +106,9 @@ def getprotocol(name, **options): protocol_class = registered_protocols.get(name) if protocol_class is None: - for entry_point in pkg_resources.iter_entry_points( - 'wsme.protocols', name): + for entry_point in importlib_metadata.entry_points().select( + group='wsme.protocols', + ): if entry_point.name == name: protocol_class = entry_point.load() if protocol_class is None: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/wsme/tests/test_restjson.py new/WSME-0.12.1/wsme/tests/test_restjson.py --- old/WSME-0.11.0/wsme/tests/test_restjson.py 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/wsme/tests/test_restjson.py 2023-09-21 19:49:10.000000000 +0200 @@ -72,7 +72,7 @@ return value if datatype == wsme.types.bytes: return value.encode('ascii') - if type(value) != datatype: + if type(value) is not datatype: print(type(value), datatype) return datatype(value) return value diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/wsme/tests/test_restxml.py new/WSME-0.12.1/wsme/tests/test_restxml.py --- old/WSME-0.11.0/wsme/tests/test_restxml.py 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/wsme/tests/test_restxml.py 2023-09-21 19:49:10.000000000 +0200 @@ -45,7 +45,7 @@ continue o = obj[name] el.append(dumpxml(name, o, attr.datatype)) - elif type(obj) == dict: + elif type(obj) is dict: for name, value in obj.items(): el.append(dumpxml(name, value)) print(obj, datatype, et.tostring(el)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/wsme/tests/test_types.py new/WSME-0.12.1/wsme/tests/test_types.py --- old/WSME-0.11.0/wsme/tests/test_types.py 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/wsme/tests/test_types.py 2023-09-21 19:49:10.000000000 +0200 @@ -177,13 +177,14 @@ obj.a = 'v1' assert obj.a == 'v1', repr(obj.a) - self.assertRaisesRegexp(exc.InvalidInput, - "Invalid input for field/attribute a. \ -Value: 'v3'. Value should be one of: v., v.", - setattr, - obj, - 'a', - 'v3') + self.assertRaisesRegex( + exc.InvalidInput, + "Invalid input for field/attribute a. " + "Value: 'v3'. Value should be one of: v., v.", + setattr, + obj, + 'a', + 'v3') def test_attribute_validation(self): class AType(object): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/wsmeext/flask.py new/WSME-0.12.1/wsmeext/flask.py --- old/WSME-0.11.0/wsmeext/flask.py 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/wsmeext/flask.py 2023-09-21 19:49:10.000000000 +0200 @@ -42,7 +42,7 @@ sig = wsme.signature(*args, **kw) def decorator(f): - args = inspect.getargspec(f)[0] + args = inspect.getfullargspec(f)[0] ismethod = args and args[0] == 'self' sig(f) funcdef = wsme.api.FunctionDefinition.get(f) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.11.0/wsmeext/sphinxext.py new/WSME-0.12.1/wsmeext/sphinxext.py --- old/WSME-0.11.0/wsmeext/sphinxext.py 2021-07-27 18:40:58.000000000 +0200 +++ new/WSME-0.12.1/wsmeext/sphinxext.py 2023-09-21 19:49:10.000000000 +0200 @@ -191,7 +191,7 @@ option_spec = dict( autodoc.ClassDocumenter.option_spec, - **{'protocols': lambda l: [v.strip() for v in l.split(',')], + **{'protocols': lambda line: [v.strip() for v in line.split(',')], 'samples-slot': check_samples_slot, }) @@ -223,13 +223,12 @@ else: return False - def add_content(self, more_content, no_docstring=False): + def add_content(self, more_content): # Check where to include the samples samples_slot = self.options.samples_slot or self.default_samples_slot def add_docstring(): - super(TypeDocumenter, self).add_content( - more_content, no_docstring) + super(TypeDocumenter, self).add_content(more_content) def add_samples(): protocols = get_protocols( @@ -284,14 +283,13 @@ self.datatype = self.object.datatype return success - def add_content(self, more_content, no_docstring=False): + def add_content(self, more_content): self.add_line( u':type: %s' % datatypename(self.datatype), '<wsmeext.sphinxext>' ) self.add_line(u'', '<wsmeext.sphinxext>') - super(AttributeDocumenter, self).add_content( - more_content, no_docstring) + super(AttributeDocumenter, self).add_content(more_content) def add_directive_header(self, sig): super(AttributeDocumenter, self).add_directive_header(sig) @@ -376,7 +374,7 @@ objtype = 'function' def get_signature_prefix(self, sig): - return 'function ' + return [] def document_function(funcdef, docstrings=None, protocols=['restjson']): @@ -528,8 +526,8 @@ self.wsme_fd, docstrings, protocols ) - def add_content(self, more_content, no_docstring=False): - super(FunctionDocumenter, self).add_content(more_content, no_docstring) + def add_content(self, more_content): + super(FunctionDocumenter, self).add_content(more_content) def format_name(self): return self.wsme_fd.name