Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-tinyrpc for openSUSE:Factory checked in at 2023-12-04 23:01:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-tinyrpc (Old) and /work/SRC/openSUSE:Factory/.python-tinyrpc.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tinyrpc" Mon Dec 4 23:01:43 2023 rev:12 rq:1130711 version:1.1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/python-tinyrpc/python-tinyrpc.changes 2023-04-28 16:26:18.595040656 +0200 +++ /work/SRC/openSUSE:Factory/.python-tinyrpc.new.25432/python-tinyrpc.changes 2023-12-04 23:02:12.537163608 +0100 @@ -1,0 +2,10 @@ +Mon Dec 4 10:47:57 UTC 2023 - Dirk Müller <[email protected]> + +- update to 1.1.7: + * Update pyzmq to 23.2.1 to support Python 3.11 + * Add pyproject.toml for sake of PEP517 compatibility + * Update gevent in requirements.txt to support Python 3.11 + * Removed dependency on six as the package supports Python 3 only now +- drop python-tinyrpc-no-six.patch (upstream) + +------------------------------------------------------------------- Old: ---- 1.1.6.tar.gz python-tinyrpc-no-six.patch New: ---- 1.1.7.tar.gz BETA DEBUG BEGIN: Old: * Removed dependency on six as the package supports Python 3 only now - drop python-tinyrpc-no-six.patch (upstream) BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-tinyrpc.spec ++++++ --- /var/tmp/diff_new_pack.ajlEiN/_old 2023-12-04 23:02:13.069183197 +0100 +++ /var/tmp/diff_new_pack.ajlEiN/_new 2023-12-04 23:02:13.069183197 +0100 @@ -18,14 +18,12 @@ %define skip_python2 1 Name: python-tinyrpc -Version: 1.1.6 +Version: 1.1.7 Release: 0 Summary: A modular transport and protocol neutral RPC library License: MIT URL: https://github.com/mbr/tinyrpc Source: https://github.com/mbr/tinyrpc/archive/%{version}.tar.gz -# https://github.com/mbr/tinyrpc/issues/103 -Patch0: python-tinyrpc-no-six.patch BuildRequires: %{python_module Werkzeug} BuildRequires: %{python_module gevent} BuildRequires: %{python_module msgpack} ++++++ 1.1.6.tar.gz -> 1.1.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/.github/workflows/python-tox.yml new/tinyrpc-1.1.7/.github/workflows/python-tox.yml --- old/tinyrpc-1.1.6/.github/workflows/python-tox.yml 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/.github/workflows/python-tox.yml 2023-07-26 16:29:04.000000000 +0200 @@ -16,7 +16,7 @@ strategy: fail-fast: false matrix: - python-version: [3.6, 3.7, 3.8, 3.9] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/.readthedocs.yaml new/tinyrpc-1.1.7/.readthedocs.yaml --- old/tinyrpc-1.1.6/.readthedocs.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/tinyrpc-1.1.7/.readthedocs.yaml 2023-07-26 16:29:04.000000000 +0200 @@ -0,0 +1,22 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +# We recommend specifying your dependencies to enable reproducible builds: +# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html +# python: +# install: +# - requirements: docs/requirements.txt \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/docs/conf.py new/tinyrpc-1.1.7/docs/conf.py --- old/tinyrpc-1.1.6/docs/conf.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/docs/conf.py 2023-07-26 16:29:04.000000000 +0200 @@ -51,7 +51,7 @@ # The short X.Y version. version = '1.1' # The full version, including alpha/beta/rc tags. -release = '1.1.6' +release = '1.1.7' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -260,3 +260,5 @@ } autoclass_content = "both" + +autodoc_mock_imports = ["msgpack", "zmq", "werkzeug", "pika", "geventwebsocket"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/http_client_example.py new/tinyrpc-1.1.7/examples/http_client_example.py --- old/tinyrpc-1.1.6/examples/http_client_example.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/examples/http_client_example.py 2023-07-26 16:29:04.000000000 +0200 @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 from tinyrpc.protocols.jsonrpc import JSONRPCProtocol from tinyrpc.transports.http import HttpPostClientTransport diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/http_server_example.py new/tinyrpc-1.1.7/examples/http_server_example.py --- old/tinyrpc-1.1.6/examples/http_server_example.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/examples/http_server_example.py 2023-07-26 16:29:04.000000000 +0200 @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import gevent import gevent.wsgi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/zmq_client_example.py new/tinyrpc-1.1.7/examples/zmq_client_example.py --- old/tinyrpc-1.1.6/examples/zmq_client_example.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/examples/zmq_client_example.py 2023-07-26 16:29:04.000000000 +0200 @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import zmq @@ -19,4 +18,4 @@ # call a method called 'reverse_string' with a single string argument result = remote_server.reverse_string('Hello, World!') -print "Server answered:", result +print("Server answered:", result) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/examples/zmq_server_example.py new/tinyrpc-1.1.7/examples/zmq_server_example.py --- old/tinyrpc-1.1.6/examples/zmq_server_example.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/examples/zmq_server_example.py 2023-07-26 16:29:04.000000000 +0200 @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import zmq diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/pyproject.toml new/tinyrpc-1.1.7/pyproject.toml --- old/tinyrpc-1.1.6/pyproject.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/tinyrpc-1.1.7/pyproject.toml 2023-07-26 16:29:04.000000000 +0200 @@ -0,0 +1,4 @@ +[build-system] +requires = ["setuptools", "wheel"] +build-backend = "setuptools.build_meta" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/requirements.txt new/tinyrpc-1.1.7/requirements.txt --- old/tinyrpc-1.1.6/requirements.txt 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/requirements.txt 2023-07-26 16:29:04.000000000 +0200 @@ -1,11 +1,9 @@ -gevent==21.1.2 +gevent==22.10.2 gevent-websocket==0.10.1 msgpack==1.0.2 pika==1.2.0 pytest==6.2.4 pytest-cov==2.11.1 -pyzmq==22.0.3 -requests==2.25.1 -six==1.16.0 -Werkzeug==2.0.0 - +pyzmq==23.2.1 +requests==2.31.0 +Werkzeug==2.2.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/setup.py new/tinyrpc-1.1.7/setup.py --- old/tinyrpc-1.1.6/setup.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/setup.py 2023-07-26 16:29:04.000000000 +0200 @@ -9,7 +9,7 @@ setup( name='tinyrpc', - version='1.1.6', + version='1.1.7', description='A small, modular, transport and protocol neutral RPC ' 'library that, among other things, supports JSON-RPC and zmq.', long_description=read('README.rst'), @@ -22,7 +22,6 @@ maintainer_email='[email protected]', url='http://github.com/mbr/tinyrpc', license='MIT', - install_requires=['six'], extras_require={ 'gevent': ['gevent'], 'httpclient': ['requests', 'websocket-client', 'gevent-websocket'], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/_compat.py new/tinyrpc-1.1.7/tests/_compat.py --- old/tinyrpc-1.1.6/tests/_compat.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/tests/_compat.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -# from http://stackoverflow.com/questions/28215214/how-to-add-custom-renames-in-six - -import six -mod = six.MovedModule('mock', 'mock', 'unittest.mock') -six.add_move(mod) -six._importer._add_module(mod, "moves." + mod.name) - -# issue open at https://bitbucket.org/gutworth/six/issue/116/enable-importing-from-within-custom diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_jsonrpc.py new/tinyrpc-1.1.7/tests/test_jsonrpc.py --- old/tinyrpc-1.1.6/tests/test_jsonrpc.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/tests/test_jsonrpc.py 2023-07-26 16:29:04.000000000 +0200 @@ -3,7 +3,6 @@ import json -import six import pytest from tinyrpc import MethodNotFoundError, InvalidRequestError, ServerError, \ @@ -65,7 +64,7 @@ def test_parsing_good_request_samples(prot, data, attrs): req = prot.parse_request(data) - for k, v in six.iteritems(attrs): + for k, v in attrs.items(): assert getattr(req, k) == v diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_msgpackrpc.py new/tinyrpc-1.1.7/tests/test_msgpackrpc.py --- old/tinyrpc-1.1.6/tests/test_msgpackrpc.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/tests/test_msgpackrpc.py 2023-07-26 16:29:04.000000000 +0200 @@ -2,7 +2,6 @@ # -*- coding: utf-8 -*- import msgpack -import six import pytest from tinyrpc import InvalidReplyError, MethodNotFoundError @@ -48,7 +47,7 @@ def test_parsing_good_request_samples(prot, data, attrs): req = prot.parse_request(data) - for k, v in six.iteritems(attrs): + for k, v in attrs.items(): assert getattr(req, k) == v diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_transport.py new/tinyrpc-1.1.7/tests/test_transport.py --- old/tinyrpc-1.1.6/tests/test_transport.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/tests/test_transport.py 2023-07-26 16:29:04.000000000 +0200 @@ -2,7 +2,6 @@ # -*- coding: utf-8 -*- import pytest -import six import zmq import zmq.green @@ -20,7 +19,7 @@ return self.messages.pop() def send_reply(self, context, message): - if not isinstance(message, sid.string_types): + if not isinstance(message, str): raise TypeError('Message must be str().') self.clients[context].messages.append(message) @@ -60,11 +59,9 @@ return ctx -if six.PY3: - # zmq and zmq.green fail on python3 - SERVERS=['dummy'] -else: - SERVERS=['dummy', 'zmq', 'zmq.green'] +# zmq and zmq.green fail on python3 +SERVERS=['dummy'] + @pytest.fixture(params=SERVERS) def transport(request, zmq_context, zmq_green_context): if request.param == 'dummy': @@ -86,11 +83,8 @@ return (client, server) SAMPLE_MESSAGES = ['asdf', 'loremipsum' * 1500, '', '\x00', 'b\x00a', '\r\n', - '\n', u'\u1234'.encode('utf8')] -if six.PY3: - BAD_MESSAGES = [b'asdf', b'', 1234, 1.2, None, True, False, ('foo',)] -else: - BAD_MESSAGES = [u'asdf', u'', 1234, 1.2, None, True, False, ('foo',)] + '\n', '\u1234'.encode('utf8')] +BAD_MESSAGES = [b'asdf', b'', 1234, 1.2, None, True, False, ('foo',)] @pytest.fixture(scope='session', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tests/test_wsgi_transport.py new/tinyrpc-1.1.7/tests/test_wsgi_transport.py --- old/tinyrpc-1.1.6/tests/test_wsgi_transport.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/tests/test_wsgi_transport.py 2023-07-26 16:29:04.000000000 +0200 @@ -4,13 +4,14 @@ import pytest -import six import gevent import gevent.queue import gevent.monkey from gevent.pywsgi import WSGIServer import requests +from importlib import reload + from tinyrpc.transports.wsgi import WsgiServerTransport from tinyrpc.transports.http import HttpPostClientTransport @@ -33,7 +34,7 @@ aggressive=False) def fin(): - six.moves.reload_module(socket) + reload(socket) request.addfinalizer(fin) @@ -70,21 +71,21 @@ @pytest.mark.parametrize(('msg',), - [(six.b('foo'),), (six.b(''),), (six.b('bar'),), (six.b('1234'),), (six.b('{}'),), (six.b('{'),), (six.b('\x00\r\n'),)]) + [(b'foo',), (b'',), (b'bar',), (b'1234',), (b'{}',), (b'{',), (b'\x00\r\n',)]) def test_server_receives_messages(wsgi_server, msg): transport, addr = wsgi_server def consumer(): context, received_msg = transport.receive_message() assert received_msg == msg - reply = six.b('reply:') + msg + reply = b'reply:' + msg transport.send_reply(context, reply) gevent.spawn(consumer) r = requests.post(addr, data=msg) - assert r.content == six.b('reply:') + msg + assert r.content == b'reply:' + msg @pytest.fixture @@ -106,20 +107,20 @@ @pytest.mark.parametrize(('msg',), - [(six.b('foo'),), (six.b(''),), (six.b('bar'),), (six.b('1234'),), (six.b('{}'),), (six.b('{'),), (six.b('\x00\r\n'),)]) + [(b'foo',), (b'',), (b'bar',), (b'1234',), (b'{}',), (b'{',), (b'\x00\r\n',)]) def test_sessioned_http_sessioned_client(wsgi_server, sessioned_client, msg): transport, addr = wsgi_server def consumer(): context, received_msg = transport.receive_message() assert received_msg == msg - reply = six.b('reply:') + msg + reply = b'reply:' + msg transport.send_reply(context, reply) gevent.spawn(consumer) result = sessioned_client.send_message(msg) - assert result == six.b('reply:') + msg + assert result == b'reply:' + msg @pytest.mark.skip('somehow fails on travis') @@ -137,22 +138,22 @@ def consumer(): context, received_msg = transport.receive_message() - reply = six.b('reply:') + received_msg + reply = b'reply:' + received_msg transport.send_reply(context, reply) def send_and_receive(i): try: gevent.spawn(consumer) - msg = six.b('msg_%s' % i) + msg = b'msg_%s' % i result = non_sessioned_client.send_message(msg) - return result == six.b('reply:') + msg + return result == b'reply:' + msg except Exception as e: return e pool = gevent.pool.Pool(500) with pytest.raises(requests.ConnectionError): - for result in pool.imap_unordered(send_and_receive, six.moves.xrange(55000)): + for result in pool.imap_unordered(send_and_receive, range(55000)): assert result if isinstance(result, Exception): raise result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tinyrpc/protocols/msgpackrpc.py new/tinyrpc-1.1.7/tinyrpc/protocols/msgpackrpc.py --- old/tinyrpc-1.1.6/tinyrpc/protocols/msgpackrpc.py 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/tinyrpc/protocols/msgpackrpc.py 2023-07-26 16:29:04.000000000 +0200 @@ -14,7 +14,6 @@ ) import msgpack -import six from typing import Any, Dict, List, Optional, Tuple, Union, Generator @@ -104,7 +103,7 @@ def _get_code_and_message(error): - assert isinstance(error, (Exception, six.string_types)) + assert isinstance(error, (Exception, str)) if isinstance(error, Exception): if hasattr(error, "msgpackrpc_error_code"): code = error.msgpackrpc_error_code @@ -390,7 +389,7 @@ raise MSGPACKRPCInvalidRequestError() def _parse_notification(self, req): - if not isinstance(req[1], six.string_types): + if not isinstance(req[1], str): raise MSGPACKRPCInvalidRequestError() request = MSGPACKRPCRequest() @@ -408,7 +407,7 @@ return request def _parse_request(self, req): - if not isinstance(req[2], six.string_types): + if not isinstance(req[2], str): raise MSGPACKRPCInvalidRequestError(request_id=req[1]) request = MSGPACKRPCRequest() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyrpc-1.1.6/tox.ini new/tinyrpc-1.1.7/tox.ini --- old/tinyrpc-1.1.6/tox.ini 2023-02-09 17:45:39.000000000 +0100 +++ new/tinyrpc-1.1.7/tox.ini 2023-07-26 16:29:04.000000000 +0200 @@ -1,6 +1,6 @@ [tox] #envlist = py38 -envlist = py34, py35, py36, py37, py38, py39 +envlist = py34, py35, py36, py37, py38, py39, py310, py311 [testenv] deps = -rrequirements.txt
