Hello community,

here is the log from the commit of package python-jupyter_client for 
openSUSE:Factory checked in at 2018-05-29 10:38:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter_client (Old)
 and      /work/SRC/openSUSE:Factory/.python-jupyter_client.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-jupyter_client"

Tue May 29 10:38:45 2018 rev:7 rq:611088 version:5.2.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-jupyter_client/python-jupyter_client-doc.changes
  2018-02-15 13:27:05.396524557 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-jupyter_client.new/python-jupyter_client-doc.changes
     2018-05-29 10:38:49.849977499 +0200
@@ -1,0 +2,14 @@
+Thu Apr 12 20:47:13 UTC 2018 - [email protected]
+
+- specfile:
+  * add requirement for python-backcall
+  * fix 'provides' syntax
+
+- update to version 5.2.3:
+  * Fix hang on close in :class:`.ThreadedKernelClient` (used in
+    QtConsole) when using tornado with asyncio (default behavior of
+    tornado 5, see :ghpull:`352`).
+  * Fix errors when using deprecated :attr:`.KernelManager.kernel_cmd`
+    (:ghpull:`343`, :ghpull:`344`).
+
+-------------------------------------------------------------------
--- 
/work/SRC/openSUSE:Factory/python-jupyter_client/python-jupyter_client.changes  
    2018-02-15 13:27:05.656515114 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-jupyter_client.new/python-jupyter_client.changes
 2018-05-29 10:38:51.285924487 +0200
@@ -1,0 +2,13 @@
+Thu Apr 12 20:47:13 UTC 2018 - [email protected]
+
+- specfile:
+  - remove fix_COPY_THRESHOLD.patch, included upstream
+
+- update to version 5.2.3:
+  * Fix hang on close in :class:`.ThreadedKernelClient` (used in
+    QtConsole) when using tornado with asyncio (default behavior of
+    tornado 5, see :ghpull:`352`).
+  * Fix errors when using deprecated :attr:`.KernelManager.kernel_cmd`
+    (:ghpull:`343`, :ghpull:`344`).
+
+-------------------------------------------------------------------

Old:
----
  fix_COPY_THRESHOLD.patch
  jupyter_client-5.2.2.tar.gz

New:
----
  jupyter_client-5.2.3.tar.gz

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

Other differences:
------------------
++++++ python-jupyter_client-doc.spec ++++++
--- /var/tmp/diff_new_pack.EFmmOV/_old  2018-05-29 10:38:52.901864831 +0200
+++ /var/tmp/diff_new_pack.EFmmOV/_new  2018-05-29 10:38:52.901864831 +0200
@@ -16,29 +16,31 @@
 #
 
 
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 # PDF documentation currently broken
 %bcond_with pdf
-
 %bcond_without html
-
 %bcond_without tests
-
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-jupyter_client-doc
-Version:        5.2.2
+Version:        5.2.3
 Release:        0
 Summary:        Documentation for python-jupyter_client
 License:        BSD-3-Clause
 Group:          Development/Languages/Python
 Url:            https://github.com/jupyter/jupyter_client
 Source:         
https://files.pythonhosted.org/packages/source/j/jupyter_client/jupyter_client-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM fix_COPY_THRESHOLD.patch -- fix testing patch for pyzmq < 
17 -- https://github.com/jupyter/jupyter_client/pull/349 
-Patch0:         fix_COPY_THRESHOLD.patch
 BuildRequires:  %{python_module jupyter_client}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
+Provides:       %{name}-html = %{version}
+Provides:       %{name}-pdf = %{version}
+Obsoletes:      %{name}-html < %{version}
+Obsoletes:      %{name}-pdf < %{version}
+Provides:       python-jupyter_client-doc = %{version}
+BuildArch:      noarch
 %if %{with tests}
 # Test Requirements
+BuildRequires:  %{python_module backcall}
 BuildRequires:  %{python_module jupyter_ipykernel}
 BuildRequires:  %{python_module nose}
 BuildRequires:  %{python_module pytest}
@@ -53,29 +55,22 @@
 %if %{with pdf}
 BuildRequires:  python3-Sphinx-latex
 %endif
-BuildArch:      noarch
-Provides:       %{name}-html = %{version}
-Provides:       %{name}-pdf = %{version}
-Obsoletes:      %{name}-html < %{version}
-Obsoletes:      %{name}-pdf < %{version}
-Provides:       %{python_module jupyter_client-doc = %{version}}
 
 %description
 Documentation and help files for python-jupyter_client.
 
 %prep
 %setup -q -n jupyter_client-%{version}
-%patch0 -p1
 
 %build
 # Build the documentation
 pushd docs
 %if %{with html}
-make html
+make %{?_smp_mflags} html
 rm -rf build/html/.buildinfo
 %endif
 %if %{with pdf}
-make latexpdf
+make %{?_smp_mflags} latexpdf
 %endif
 popd
 
@@ -100,8 +95,7 @@
 %endif
 
 %files
-%defattr(-,root,root,-)
-%doc COPYING.md
+%license COPYING.md
 %{_docdir}/python-jupyter_client/
 
 %changelog

++++++ python-jupyter_client.spec ++++++
--- /var/tmp/diff_new_pack.EFmmOV/_old  2018-05-29 10:38:52.925863945 +0200
+++ /var/tmp/diff_new_pack.EFmmOV/_new  2018-05-29 10:38:52.925863945 +0200
@@ -18,15 +18,13 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-jupyter_client
-Version:        5.2.2
+Version:        5.2.3
 Release:        0
 Summary:        Jupyter protocol implementation and client libraries
 License:        BSD-3-Clause
 Group:          Development/Languages/Python
 Url:            https://github.com/jupyter/jupyter_client
 Source:         
https://files.pythonhosted.org/packages/source/j/jupyter_client/jupyter_client-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM fix_COPY_THRESHOLD.patch -- fix testing patch for pyzmq < 
17 -- https://github.com/jupyter/jupyter_client/pull/349 
-Patch0:         fix_COPY_THRESHOLD.patch
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
@@ -49,7 +47,6 @@
 
 %prep
 %setup -q -n jupyter_client-%{version}
-%patch0 -p1
 
 %build
 %python_build
@@ -59,8 +56,8 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %files %{python_files}
-%defattr(-,root,root,-)
-%doc CONTRIBUTING.md COPYING.md README.md
+%license COPYING.md
+%doc CONTRIBUTING.md README.md
 %python3_only %{_bindir}/jupyter-kernel
 %python3_only %{_bindir}/jupyter-kernelspec
 %python3_only %{_bindir}/jupyter-run

++++++ jupyter_client-5.2.2.tar.gz -> jupyter_client-5.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_client-5.2.2/PKG-INFO 
new/jupyter_client-5.2.3/PKG-INFO
--- old/jupyter_client-5.2.2/PKG-INFO   2018-01-24 18:35:14.000000000 +0100
+++ new/jupyter_client-5.2.3/PKG-INFO   2018-03-12 17:11:51.000000000 +0100
@@ -1,22 +1,28 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: jupyter_client
-Version: 5.2.2
+Version: 5.2.3
 Summary: Jupyter protocol implementation and client libraries
 Home-page: https://jupyter.org
 Author: Jupyter Development Team
 Author-email: [email protected]
 License: BSD
+Project-URL: Documentation, https://jupyter-client.readthedocs.io
+Project-URL: Source, https://github.com/jupyter/jupyter_client/
+Project-URL: Tracker, https://github.com/jupyter/jupyter_client/issues
 Description-Content-Type: UNKNOWN
 Description: UNKNOWN
 Keywords: Interactive,Interpreter,Shell,Web
 Platform: Linux
 Platform: Mac OS X
 Platform: Windows
+Classifier: Framework :: Jupyter
 Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: Education
 Classifier: Intended Audience :: System Administrators
 Classifier: Intended Audience :: Science/Research
 Classifier: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_client-5.2.2/docs/changelog.rst 
new/jupyter_client-5.2.3/docs/changelog.rst
--- old/jupyter_client-5.2.2/docs/changelog.rst 2018-01-24 18:34:35.000000000 
+0100
+++ new/jupyter_client-5.2.3/docs/changelog.rst 2018-03-12 15:12:43.000000000 
+0100
@@ -4,6 +4,17 @@
 Changes in Jupyter Client
 =========================
 
+5.2.3
+=====
+
+`5.2.3 on GitHub 
<https://github.com/jupyter/jupyter_client/milestones/5.2.3>`__
+
+- Fix hang on close in :class:`.ThreadedKernelClient` (used in QtConsole)
+  when using tornado with asyncio
+  (default behavior of tornado 5, see :ghpull:`352`).
+- Fix errors when using deprecated :attr:`.KernelManager.kernel_cmd`
+  (:ghpull:`343`, :ghpull:`344`).
+
 5.2.2
 =====
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_client-5.2.2/jupyter_client/_version.py 
new/jupyter_client-5.2.3/jupyter_client/_version.py
--- old/jupyter_client-5.2.2/jupyter_client/_version.py 2018-01-24 
18:34:48.000000000 +0100
+++ new/jupyter_client-5.2.3/jupyter_client/_version.py 2018-03-12 
17:11:28.000000000 +0100
@@ -1,4 +1,4 @@
-version_info = (5, 2, 2)
+version_info = (5, 2, 3)
 __version__ = '.'.join(map(str, version_info))
 
 protocol_version_info = (5, 3)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_client-5.2.2/jupyter_client/manager.py 
new/jupyter_client-5.2.3/jupyter_client/manager.py
--- old/jupyter_client-5.2.2/jupyter_client/manager.py  2018-01-24 
10:30:48.000000000 +0100
+++ new/jupyter_client-5.2.3/jupyter_client/manager.py  2018-03-12 
17:11:16.000000000 +0100
@@ -11,6 +11,7 @@
 import signal
 import sys
 import time
+import warnings
 
 import zmq
 
@@ -77,7 +78,7 @@
 
     @property
     def kernel_spec(self):
-        if self._kernel_spec is None:
+        if self._kernel_spec is None and self.kernel_name is not '':
             self._kernel_spec = 
self.kernel_spec_manager.get_kernel_spec(self.kernel_name)
         return self._kernel_spec
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_client-5.2.2/jupyter_client/tests/test_session.py 
new/jupyter_client-5.2.3/jupyter_client/tests/test_session.py
--- old/jupyter_client-5.2.2/jupyter_client/tests/test_session.py       
2017-11-22 12:54:35.000000000 +0100
+++ new/jupyter_client-5.2.3/jupyter_client/tests/test_session.py       
2018-03-11 15:14:54.000000000 +0100
@@ -41,7 +41,7 @@
 @pytest.fixture
 def no_copy_threshold():
     """Disable zero-copy optimizations in pyzmq >= 17"""
-    with mock.patch.object(zmq, 'COPY_THRESHOLD', 1):
+    with mock.patch.object(zmq, 'COPY_THRESHOLD', 1, create=True):
         yield
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_client-5.2.2/jupyter_client/threaded.py 
new/jupyter_client-5.2.3/jupyter_client/threaded.py
--- old/jupyter_client-5.2.2/jupyter_client/threaded.py 2018-01-24 
10:08:58.000000000 +0100
+++ new/jupyter_client-5.2.3/jupyter_client/threaded.py 2018-03-11 
15:14:56.000000000 +0100
@@ -3,7 +3,8 @@
 from __future__ import absolute_import
 import atexit
 import errno
-from threading import Thread
+import sys
+from threading import Thread, Event
 import time
 
 # import ZMQError in top-level namespace, to avoid ugly attribute-error 
messages
@@ -41,9 +42,15 @@
         self.socket = socket
         self.session = session
         self.ioloop = loop
+        evt = Event()
 
-        self.stream = zmqstream.ZMQStream(self.socket, self.ioloop)
-        self.stream.on_recv(self._handle_recv)
+        def setup_stream():
+            self.stream = zmqstream.ZMQStream(self.socket, self.ioloop)
+            self.stream.on_recv(self._handle_recv)
+            evt.set()
+
+        self.ioloop.add_callback(setup_stream)
+        evt.wait()
 
     _is_alive = False
     def is_alive(self):
@@ -142,11 +149,11 @@
     """Run a pyzmq ioloop in a thread to send and receive messages
     """
     _exiting = False
+    ioloop = None
 
-    def __init__(self, loop):
+    def __init__(self):
         super(IOLoopThread, self).__init__()
         self.daemon = True
-        self.ioloop = loop or ioloop.IOLoop()
 
     @staticmethod
     @atexit.register
@@ -156,8 +163,26 @@
         if IOLoopThread is not None:
             IOLoopThread._exiting = True
 
+    def start(self):
+        """Start the IOLoop thread
+
+        Don't return until self.ioloop is defined,
+        which is created in the thread
+        """
+        self._start_event = Event()
+        Thread.start(self)
+        self._start_event.wait()
+
     def run(self):
         """Run my loop, ignoring EINTR events in the poller"""
+        if 'asyncio' in sys.modules:
+            # tornado may be using asyncio,
+            # ensure an eventloop exists for this thread
+            import asyncio
+            asyncio.set_event_loop(asyncio.new_event_loop())
+        self.ioloop = ioloop.IOLoop()
+        # signal that self.ioloop is defined
+        self._start_event.set()
         while True:
             try:
                 self.ioloop.start()
@@ -182,9 +207,10 @@
         :meth:`~threading.Thread.start` is called again.
         """
         if self.ioloop is not None:
-            self.ioloop.stop()
+            self.ioloop.add_callback(self.ioloop.stop)
         self.join()
         self.close()
+        self.ioloop = None
 
     def close(self):
         if self.ioloop is not None:
@@ -198,22 +224,19 @@
     """ A KernelClient that provides thread-safe sockets with async callbacks 
on message replies.
     """
 
-    _ioloop = None
     @property
     def ioloop(self):
-        if self._ioloop is None:
-            self._ioloop = ioloop.IOLoop()
-        return self._ioloop
+        return self.ioloop_thread.ioloop
 
     ioloop_thread = Instance(IOLoopThread, allow_none=True)
 
     def start_channels(self, shell=True, iopub=True, stdin=True, hb=True):
+        self.ioloop_thread = IOLoopThread()
+        self.ioloop_thread.start()
+
         if shell:
             self.shell_channel._inspect = self._check_kernel_info_reply
 
-        self.ioloop_thread = IOLoopThread(self.ioloop)
-        self.ioloop_thread.start()
-
         super(ThreadedKernelClient, self).start_channels(shell, iopub, stdin, 
hb)
 
     def _check_kernel_info_reply(self, msg):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jupyter_client-5.2.2/jupyter_client.egg-info/PKG-INFO 
new/jupyter_client-5.2.3/jupyter_client.egg-info/PKG-INFO
--- old/jupyter_client-5.2.2/jupyter_client.egg-info/PKG-INFO   2018-01-24 
18:35:14.000000000 +0100
+++ new/jupyter_client-5.2.3/jupyter_client.egg-info/PKG-INFO   2018-03-12 
17:11:51.000000000 +0100
@@ -1,22 +1,28 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: jupyter-client
-Version: 5.2.2
+Version: 5.2.3
 Summary: Jupyter protocol implementation and client libraries
 Home-page: https://jupyter.org
 Author: Jupyter Development Team
 Author-email: [email protected]
 License: BSD
+Project-URL: Documentation, https://jupyter-client.readthedocs.io
+Project-URL: Source, https://github.com/jupyter/jupyter_client/
+Project-URL: Tracker, https://github.com/jupyter/jupyter_client/issues
 Description-Content-Type: UNKNOWN
 Description: UNKNOWN
 Keywords: Interactive,Interpreter,Shell,Web
 Platform: Linux
 Platform: Mac OS X
 Platform: Windows
+Classifier: Framework :: Jupyter
 Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: Education
 Classifier: Intended Audience :: System Administrators
 Classifier: Intended Audience :: Science/Research
 Classifier: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jupyter_client-5.2.2/setup.py 
new/jupyter_client-5.2.3/setup.py
--- old/jupyter_client-5.2.2/setup.py   2018-01-24 10:30:54.000000000 +0100
+++ new/jupyter_client-5.2.3/setup.py   2018-03-12 17:11:16.000000000 +0100
@@ -60,22 +60,29 @@
     name            = name,
     version         = version_ns['__version__'],
     packages        = packages,
-    description     = "Jupyter protocol implementation and client libraries",
+    description     = 'Jupyter protocol implementation and client libraries',
     author          = 'Jupyter Development Team',
     author_email    = '[email protected]',
     url             = 'https://jupyter.org',
     license         = 'BSD',
     platforms       = "Linux, Mac OS X, Windows",
     keywords        = ['Interactive', 'Interpreter', 'Shell', 'Web'],
+    project_urls    = {
+        'Documentation': 'https://jupyter-client.readthedocs.io',
+        'Source': 'https://github.com/jupyter/jupyter_client/',
+        'Tracker': 'https://github.com/jupyter/jupyter_client/issues',
+    },
     classifiers     = [
+        'Framework :: Jupyter',
         'Intended Audience :: Developers',
+        'Intended Audience :: Education',
         'Intended Audience :: System Administrators',
         'Intended Audience :: Science/Research',
         'License :: OSI Approved :: BSD License',
+        'Operating System :: OS Independent',
         'Programming Language :: Python',
-        'Programming Language :: Python :: 2.7',
+        'Programming Language :: Python :: 2',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.3',
     ],
     install_requires = [
         'traitlets',
@@ -84,6 +91,7 @@
         'python-dateutil>=2.1',
         'tornado>=4.1',
     ],
+    python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*',
     extras_require   = {
         'test': ['ipykernel', 'ipython', 'mock'],
         'test:python_version == "3.3"': ['pytest<3.3.0'],


Reply via email to