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


Reply via email to