Hello community, here is the log from the commit of package python-Pyro4 for openSUSE:Factory checked in at 2020-03-27 00:27:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-Pyro4 (Old) and /work/SRC/openSUSE:Factory/.python-Pyro4.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Pyro4" Fri Mar 27 00:27:52 2020 rev:7 rq:786813 version:4.79 Changes: -------- --- /work/SRC/openSUSE:Factory/python-Pyro4/python-Pyro4.changes 2020-01-16 18:17:03.336832767 +0100 +++ /work/SRC/openSUSE:Factory/.python-Pyro4.new.3160/python-Pyro4.changes 2020-03-27 00:27:55.844336838 +0100 @@ -1,0 +2,7 @@ +Fri Mar 20 10:53:14 UTC 2020 - Tomáš Chvátal <tchva...@suse.com> + +- Update to 4.79: + * cython compatibility fix + * removed explicit version checks of dependencies such as serpent + +------------------------------------------------------------------- Old: ---- Pyro4-4.77.tar.gz New: ---- Pyro4-4.79.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-Pyro4.spec ++++++ --- /var/tmp/diff_new_pack.yvgZAN/_old 2020-03-27 00:27:56.836337340 +0100 +++ /var/tmp/diff_new_pack.yvgZAN/_new 2020-03-27 00:27:56.840337342 +0100 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %bcond_without python2 Name: python-Pyro4 -Version: 4.77 +Version: 4.79 Release: 0 Summary: Distributed object middleware for Python (RPC) License: MIT ++++++ Pyro4-4.77.tar.gz -> Pyro4-4.79.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/PKG-INFO new/Pyro4-4.79/PKG-INFO --- old/Pyro4-4.77/PKG-INFO 2019-10-01 22:29:51.000000000 +0200 +++ new/Pyro4-4.79/PKG-INFO 2020-02-15 19:15:56.584937600 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: Pyro4 -Version: 4.77 +Version: 4.79 Summary: distributed object middleware for Python (RPC) Home-page: http://pyro4.readthedocs.io Author: Irmen de Jong diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/docs/source/changelog.rst new/Pyro4-4.79/docs/source/changelog.rst --- old/Pyro4-4.77/docs/source/changelog.rst 2019-10-01 22:08:08.000000000 +0200 +++ new/Pyro4-4.79/docs/source/changelog.rst 2020-02-10 22:34:27.000000000 +0100 @@ -2,6 +2,19 @@ Change Log ********** +**Pyro 4.79** + +- cython compatibility fix +- removed explicit version checks of dependencies such as serpent. + This fixes crash error when dealing with prerelease versions that didn't match the pattern. + + +**Pyro 4.78** + +- stick to an older serpent library version to install as a dependency when installing on old python versions +- explain the delay and threading in the distributed-computing2 example + + **Pyro 4.77** - dropped support for Python 3.4 (which has reached end-of-life status). Supported Python versions are now 2.7, and 3.5 or newer. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/docs/source/install.rst new/Pyro4-4.79/docs/source/install.rst --- old/Pyro4-4.77/docs/source/install.rst 2019-06-25 00:17:21.000000000 +0200 +++ new/Pyro4-4.79/docs/source/install.rst 2020-02-01 11:00:20.000000000 +0100 @@ -56,7 +56,7 @@ Third party libraries that Pyro4 uses ------------------------------------- -`serpent <https://pypi.python.org/pypi/serpent>`_ - required, 1.27 or newer +`serpent <https://pypi.python.org/pypi/serpent>`_ - required Should be installed automatically when you install Pyro4. `selectors34 <https://pypi.python.org/pypi/selectors34>`_ - required on Python 3.3 or older @@ -65,13 +65,13 @@ `selectors2 <https://pypi.python.org/pypi/selectors2>`_ - optional on Python 3.4 or older Install this if you want better behavior for interrupted system calls on Python 3.4 or older. -`dill <https://pypi.python.org/pypi/dill>`_ - optional, 0.2.6 or newer +`dill <https://pypi.python.org/pypi/dill>`_ - optional Install this if you want to use the dill serializer. -`cloudpickle <https://pypi.python.org/pypi/cloudpickle>`_ - optional, 0.4.0 or newer +`cloudpickle <https://pypi.python.org/pypi/cloudpickle>`_ - optional Install this if you want to use the cloudpickle serializer. -`msgpack <https://pypi.python.org/pypi/msgpack>`_ - optional, 0.5.2 or newer +`msgpack <https://pypi.python.org/pypi/msgpack>`_ - optional Install this if you want to use the msgpack serializer. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/docs/source/security.rst new/Pyro4-4.79/docs/source/security.rst --- old/Pyro4-4.77/docs/source/security.rst 2019-07-02 15:41:45.000000000 +0200 +++ new/Pyro4-4.79/docs/source/security.rst 2020-01-01 16:59:32.000000000 +0100 @@ -98,7 +98,7 @@ Dotted names (object traversal) =============================== Using dotted names on Pyro proxies (such as ``proxy.aaa.bbb.ccc()``) is not possible in Pyro, because it is a security vulnerability -(for similar reasons as described here http://www.python.org/news/security/PSF-2005-001/ ). +(for similar reasons as described here https://legacy.python.org/news/security/PSF-2005-001/ ). .. index:: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/examples/distributed-computing2/Readme.txt new/Pyro4-4.79/examples/distributed-computing2/Readme.txt --- old/Pyro4-4.77/examples/distributed-computing2/Readme.txt 2018-08-16 09:50:01.000000000 +0200 +++ new/Pyro4-4.79/examples/distributed-computing2/Readme.txt 2019-12-01 22:20:32.000000000 +0100 @@ -1,6 +1,6 @@ A simple distributed computing example with "push" model. -There are a handfull of word-counter instances. +There are a handful of word-counter instances. Each is able to count the word frequencies in the lines of text given to it. The counters are registered in the name server using a common name prefix, which is used by the dispatcher to get a list of all available counters. @@ -13,8 +13,16 @@ uses the dispatcher counter instead - which distributes chunks of the text across all available counters in parallel. -The actual counter implementation contains a small artificial delay, -this helps dramatize the time saving effect of the parallel processing. +Make sure a name server is running before starting this example. -Make sure a name server is running before starting this example. +NOTE: +----- +This particular example is not a "real" distributed calculation because it uses +*threads* to process multiple Pyro calls concurrently. Because of Python's GIL, +threads will NOT run in parallel unless they wait for a signal or are doing I/O. +This is why this example has an artificial timer delay to make the compute calls +not cpu-bound thereby enabling actual parallel execution. + +For "true" distributed parallel calculations, have a look at the other +distributed-computing examples. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/examples/distributed-computing2/servers.py new/Pyro4-4.79/examples/distributed-computing2/servers.py --- old/Pyro4-4.77/examples/distributed-computing2/servers.py 2018-08-16 09:50:01.000000000 +0200 +++ new/Pyro4-4.79/examples/distributed-computing2/servers.py 2019-12-01 22:18:44.000000000 +0100 @@ -28,7 +28,7 @@ interesting_words = [w for w in line.split() if w.isalpha() and w not in self.filter_words] counts.update(interesting_words) if num % 10 == 0: - time.sleep(0.01) # artificial delay to dramatize execution time differences + time.sleep(0.01) # artificial delay to show execution time differences (and make this not cpu-bound) return counts diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/setup.py new/Pyro4-4.79/setup.py --- old/Pyro4-4.77/setup.py 2019-06-25 00:12:10.000000000 +0200 +++ new/Pyro4-4.79/setup.py 2020-01-28 00:32:08.000000000 +0100 @@ -55,7 +55,10 @@ scripts=[], platforms="any", test_suite="setup.pyro_test_suite", - install_requires=["serpent>=1.27"], + install_requires=[ + "serpent>=1.27,<1.30 ; python_version<'3.2'", + "serpent>=1.27 ; python_version>='3.2'", + ], extras_require={ ":python_version<'3.4'": ["selectors34"] }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/src/Pyro4/constants.py new/Pyro4-4.79/src/Pyro4/constants.py --- old/Pyro4-4.77/src/Pyro4/constants.py 2019-10-01 22:17:29.000000000 +0200 +++ new/Pyro4-4.79/src/Pyro4/constants.py 2020-02-15 19:13:51.000000000 +0100 @@ -5,7 +5,7 @@ """ # Pyro version -VERSION = "4.77" +VERSION = "4.79" # standard object name for the Daemon object DAEMON_NAME = "Pyro.Daemon" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/src/Pyro4/core.py new/Pyro4-4.79/src/Pyro4/core.py --- old/Pyro4-4.77/src/Pyro4/core.py 2019-10-01 21:56:18.000000000 +0200 +++ new/Pyro4-4.79/src/Pyro4/core.py 2020-02-04 22:19:57.000000000 +0100 @@ -992,7 +992,7 @@ if inspect.ismethoddescriptor(method_or_class): attrname = method_or_class.__get__(None, dict).__name__ raise AttributeError("using @expose on a classmethod/staticmethod must be done " - "after @classmethod/@taticmethod. Method: " + attrname) + "after @classmethod/@staticmethod. Method: " + attrname) else: raise AttributeError("@expose cannot determine what this is: " + repr(method_or_class)) if util.is_private_attribute(attrname): @@ -1004,7 +1004,7 @@ if util.is_private_attribute(name): continue thing = getattr(clazz, name) - if inspect.isfunction(thing): + if inspect.isfunction(thing) or inspect.ismethoddescriptor(thing): thing._pyroExposed = True elif inspect.ismethod(thing): thing.__func__._pyroExposed = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/src/Pyro4/util.py new/Pyro4-4.79/src/Pyro4/util.py --- old/Pyro4-4.77/src/Pyro4/util.py 2019-04-16 22:14:53.000000000 +0200 +++ new/Pyro4-4.79/src/Pyro4/util.py 2020-02-10 22:29:55.000000000 +0100 @@ -820,13 +820,6 @@ pass try: import serpent - if '-' in serpent.__version__: - ver = serpent.__version__.split('-', 1)[0] - else: - ver = serpent.__version__ - ver = tuple(map(int, ver.split("."))) - if ver < (1, 27): - raise RuntimeError("requires serpent 1.27 or later") _ser = SerpentSerializer() _serializers["serpent"] = _ser _serializers_by_id[_ser.serializer_id] = _ser @@ -834,13 +827,9 @@ log.warning("serpent serializer is not available") try: import msgpack - if msgpack.version < (0, 5, 2): - import warnings - warnings.warn("msgpack serializer unavailable. requires msgpack 0.5.2+, found " + str(msgpack.version)) - else: - _ser = MsgpackSerializer() - _serializers["msgpack"] = _ser - _serializers_by_id[_ser.serializer_id] = _ser + _ser = MsgpackSerializer() + _serializers["msgpack"] = _ser + _serializers_by_id[_ser.serializer_id] = _ser except ImportError: pass del _ser diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/src/Pyro4.egg-info/PKG-INFO new/Pyro4-4.79/src/Pyro4.egg-info/PKG-INFO --- old/Pyro4-4.77/src/Pyro4.egg-info/PKG-INFO 2019-10-01 22:29:51.000000000 +0200 +++ new/Pyro4-4.79/src/Pyro4.egg-info/PKG-INFO 2020-02-15 19:15:56.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: Pyro4 -Version: 4.77 +Version: 4.79 Summary: distributed object middleware for Python (RPC) Home-page: http://pyro4.readthedocs.io Author: Irmen de Jong diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/src/Pyro4.egg-info/requires.txt new/Pyro4-4.79/src/Pyro4.egg-info/requires.txt --- old/Pyro4-4.77/src/Pyro4.egg-info/requires.txt 2019-10-01 22:29:51.000000000 +0200 +++ new/Pyro4-4.79/src/Pyro4.egg-info/requires.txt 2020-02-15 19:15:56.000000000 +0100 @@ -1,3 +1,8 @@ + +[:python_version < "3.2"] +serpent<1.30,>=1.27 + +[:python_version >= "3.2"] serpent>=1.27 [:python_version<'3.4'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Pyro4-4.77/tests/PyroTests/test_serialize.py new/Pyro4-4.79/tests/PyroTests/test_serialize.py --- old/Pyro4-4.77/tests/PyroTests/test_serialize.py 2018-08-16 09:50:01.000000000 +0200 +++ new/Pyro4-4.79/tests/PyroTests/test_serialize.py 2020-01-28 00:45:03.000000000 +0100 @@ -12,7 +12,6 @@ import pickle import base64 import unittest -import serpent import math import uuid import Pyro4.util @@ -701,18 +700,15 @@ SERIALIZER = "serpent" def testCircular(self): - with self.assertRaises(ValueError): # serpent doesn't support object graphs (since serpent 1.7 reports ValueError instead of crashing) + # serpent doesn't support object graphs (since serpent 1.7 reports ValueError instead of crashing) + with self.assertRaises(ValueError): super(SerializeTests_serpent, self).testCircular() def testSet(self): - # serpent serializes a set into a tuple on older python versions, so we override this data = {111, 222, 333} ser, compressed = self.serializer.serializeData(data) data2 = self.serializer.deserializeData(ser, compressed=compressed) - if serpent.can_use_set_literals: - self.assertEqual(data, data2) - else: - self.assertEqual(tuple(data), data2) + self.assertEqual(tuple(data), tuple(data2)) def testDeque(self): # serpent converts a deque into a primitive list