Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-ipykernel for openSUSE:Factory checked in at 2021-02-16 22:34:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-ipykernel (Old) and /work/SRC/openSUSE:Factory/.python-ipykernel.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ipykernel" Tue Feb 16 22:34:27 2021 rev:13 rq:872448 version:5.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-ipykernel/python-ipykernel.changes 2021-02-04 20:24:13.602840195 +0100 +++ /work/SRC/openSUSE:Factory/.python-ipykernel.new.28504/python-ipykernel.changes 2021-02-16 22:34:32.441501308 +0100 @@ -1,0 +2,9 @@ +Sat Feb 13 23:21:18 UTC 2021 - Ben Greiner <c...@bnavigator.de> + +- Update to version 5.4.3 + * Rework wait_for_ready logic. +- Don't test with python36-numpy because it is no more (NEP 29) +- Skip two completion tests due to newer jedi support in ipython + gh#ipython/ipykernel#578 gh#ipython/ipykernel#579 + +------------------------------------------------------------------- Old: ---- ipykernel-5.4.2.tar.gz New: ---- ipykernel-5.4.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-ipykernel.spec ++++++ --- /var/tmp/diff_new_pack.XhnKTl/_old 2021-02-16 22:34:32.997502070 +0100 +++ /var/tmp/diff_new_pack.XhnKTl/_new 2021-02-16 22:34:33.001502075 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-ipykernel # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-ipykernel -Version: 5.4.2 +Version: 5.4.3 Release: 0 Summary: IPython Kernel for Jupyter License: BSD-3-Clause @@ -27,9 +27,9 @@ URL: https://github.com/ipython/ipykernel Source: https://files.pythonhosted.org/packages/source/i/ipykernel/ipykernel-%{version}.tar.gz BuildRequires: %{python_module setuptools} -BuildRequires: jupyter-jupyter_core-filesystem BuildRequires: fdupes BuildRequires: hicolor-icon-theme +BuildRequires: jupyter-jupyter_core-filesystem BuildRequires: python-rpm-macros Requires: jupyter-ipykernel = %{version} Requires: python-ipython >= 5.0.0 @@ -53,10 +53,11 @@ BuildRequires: %{python_module jupyter-core} BuildRequires: %{python_module nose_warnings_filters} BuildRequires: %{python_module nose} -BuildRequires: %{python_module numpy} BuildRequires: %{python_module pytest} BuildRequires: %{python_module tornado >= 4.2} BuildRequires: %{python_module traitlets >= 4.1.0} +BuildRequires: %{python_module matplotlib if (%python-base without python36-base)} +BuildRequires: %{python_module numpy if (%python-base without python36-base)} # /SECTION # typing is only built-in for later versions of python %if 0%{?suse_version} <= 1320 @@ -94,7 +95,9 @@ %python_expand %fdupes %{buildroot}%{$python_sitelib} %check -%pytest +# These tests expect jedi 0.17.2 return messages, but we use patches to support jedi 0.18 in ipython715 +# and ipython 7.20 fixed its support for jedi 0.18 gh#ipython/ipykernel#578 gh#ipython/ipykernel#579 +%pytest -ra -k "not (test_complete or test_inspect)" %files %{python_files} %doc README.md docs/changelog.rst ++++++ ipykernel-5.4.2.tar.gz -> ipykernel-5.4.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/PKG-INFO new/ipykernel-5.4.3/PKG-INFO --- old/ipykernel-5.4.2/PKG-INFO 2020-12-11 23:22:33.376145400 +0100 +++ new/ipykernel-5.4.3/PKG-INFO 2021-01-11 18:10:35.339956000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: ipykernel -Version: 5.4.2 +Version: 5.4.3 Summary: IPython Kernel for Jupyter Home-page: https://ipython.org Author: IPython Development Team diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/docs/changelog.rst new/ipykernel-5.4.3/docs/changelog.rst --- old/ipykernel-5.4.2/docs/changelog.rst 2020-12-11 23:21:57.000000000 +0100 +++ new/ipykernel-5.4.3/docs/changelog.rst 2021-01-11 18:09:17.000000000 +0100 @@ -4,6 +4,10 @@ 5.4 --- +5.4.3 +***** +- Rework wait_for_ready logic. (:ghpull:`578`) + 5.4.2 ***** - Revert "Fix stop_on_error_timeout blocking other messages in queue". (:ghpull:`570`) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/ipykernel/_version.py new/ipykernel-5.4.3/ipykernel/_version.py --- old/ipykernel-5.4.2/ipykernel/_version.py 2020-12-11 23:21:57.000000000 +0100 +++ new/ipykernel-5.4.3/ipykernel/_version.py 2021-01-11 18:09:50.000000000 +0100 @@ -1,4 +1,4 @@ -version_info = (5, 4, 2) +version_info = (5, 4, 3) __version__ = '.'.join(map(str, version_info[:3])) # pep440 is annoying, beta/alpha/rc should _not_ have dots or pip/setuptools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/ipykernel/inprocess/blocking.py new/ipykernel-5.4.3/ipykernel/inprocess/blocking.py --- old/ipykernel-5.4.2/ipykernel/inprocess/blocking.py 2020-12-10 23:41:31.000000000 +0100 +++ new/ipykernel-5.4.3/ipykernel/inprocess/blocking.py 2021-01-11 18:09:17.000000000 +0100 @@ -76,10 +76,21 @@ def wait_for_ready(self): # Wait for kernel info reply on shell channel while True: - msg = self.shell_channel.get_msg(block=True) - if msg['msg_type'] == 'kernel_info_reply': - self._handle_kernel_info_reply(msg) - break + self.kernel_info() + try: + msg = self.shell_channel.get_msg(block=True, timeout=1) + except Empty: + pass + else: + if msg['msg_type'] == 'kernel_info_reply': + # Checking that IOPub is connected. If it is not connected, start over. + try: + self.iopub_channel.get_msg(block=True, timeout=0.2) + except Empty: + pass + else: + self._handle_kernel_info_reply(msg) + break # Flush IOPub channel while True: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/ipykernel/tests/test_kernel.py new/ipykernel-5.4.3/ipykernel/tests/test_kernel.py --- old/ipykernel-5.4.2/ipykernel/tests/test_kernel.py 2020-12-10 23:41:31.000000000 +0100 +++ new/ipykernel-5.4.3/ipykernel/tests/test_kernel.py 2021-01-11 18:09:17.000000000 +0100 @@ -21,7 +21,7 @@ from .utils import ( new_kernel, kernel, TIMEOUT, assemble_output, execute, - flush_channels, wait_for_idle, + flush_channels, wait_for_idle, get_reply, ) @@ -360,9 +360,9 @@ msg_id = kc.execute("input()") time.sleep(1) # Make sure it's actually waiting for input. km.interrupt_kernel() - # If we failed to interrupt interrupt, this will timeout: - reply = kc.get_shell_msg(timeout=TIMEOUT) from .test_message_spec import validate_message + # If we failed to interrupt interrupt, this will timeout: + reply = get_reply(kc, msg_id, TIMEOUT) validate_message(reply, 'execute_reply', msg_id) @@ -385,9 +385,10 @@ msg_id2 = kc.execute("3 + 4") time.sleep(1) # Make sure it's actually waiting for input. km.interrupt_kernel() - # If we failed to interrupt interrupt, this will timeout: from .test_message_spec import validate_message - reply = kc.get_shell_msg(timeout=TIMEOUT) + # If we failed to interrupt interrupt, this will timeout: + reply = get_reply(kc, msg_id, TIMEOUT) validate_message(reply, 'execute_reply', msg_id) - reply = kc.get_shell_msg(timeout=TIMEOUT) + # If we failed to interrupt interrupt, this will timeout: + reply = get_reply(kc, msg_id2, TIMEOUT) validate_message(reply, 'execute_reply', msg_id2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/ipykernel/tests/test_message_spec.py new/ipykernel-5.4.3/ipykernel/tests/test_message_spec.py --- old/ipykernel-5.4.2/ipykernel/tests/test_message_spec.py 2020-12-10 23:41:31.000000000 +0100 +++ new/ipykernel-5.4.3/ipykernel/tests/test_message_spec.py 2021-01-11 18:09:17.000000000 +0100 @@ -15,7 +15,8 @@ HasTraits, TraitError, Bool, Unicode, Dict, Integer, List, Enum ) -from .utils import TIMEOUT, start_global_kernel, flush_channels, execute +from .utils import (TIMEOUT, start_global_kernel, flush_channels, execute, + get_reply, ) #----------------------------------------------------------------------------- # Globals @@ -271,7 +272,7 @@ flush_channels() msg_id = KC.execute(code='x=1') - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'execute_reply', msg_id) @@ -374,7 +375,7 @@ flush_channels() msg_id = KC.inspect('a') - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'inspect_reply', msg_id) @@ -384,7 +385,7 @@ msg_id, reply = execute(code='a=5') msg_id = KC.inspect('a') - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'inspect_reply', msg_id) content = reply['content'] assert content['found'] @@ -399,7 +400,7 @@ msg_id, reply = execute(code='ip=get_ipython()') msg_id = KC.inspect('ip.object_inspect', cursor_pos=10, detail_level=1) - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'inspect_reply', msg_id) content = reply['content'] assert content['found'] @@ -412,7 +413,7 @@ flush_channels() msg_id = KC.inspect('dne') - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'inspect_reply', msg_id) content = reply['content'] assert not content['found'] @@ -424,7 +425,7 @@ msg_id, reply = execute(code="alpha = albert = 5") msg_id = KC.complete('al', 2) - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'complete_reply', msg_id) matches = reply['content']['matches'] for name in ('alpha', 'albert'): @@ -435,7 +436,7 @@ flush_channels() msg_id = KC.kernel_info() - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'kernel_info_reply', msg_id) @@ -446,7 +447,7 @@ return msg['header']['msg_id'] msg_id = KC.kernel_info() - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'connect_reply', msg_id) @@ -455,7 +456,7 @@ if not hasattr(KC, 'comm_info'): raise SkipTest() msg_id = KC.comm_info() - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'comm_info_reply', msg_id) @@ -481,7 +482,7 @@ flush_channels() msg_id = KC.is_complete("a = 1") - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'is_complete_reply', msg_id) def test_history_range(): @@ -491,7 +492,7 @@ reply_exec = KC.get_shell_msg(timeout=TIMEOUT) msg_id = KC.history(hist_access_type = 'range', raw = True, output = True, start = 1, stop = 2, session = 0) - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'history_reply', msg_id) content = reply['content'] assert len(content['history']) == 1 @@ -503,7 +504,7 @@ reply_exec = KC.get_shell_msg(timeout=TIMEOUT) msg_id = KC.history(hist_access_type = 'tail', raw = True, output = True, n = 1, session = 0) - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'history_reply', msg_id) content = reply['content'] assert len(content['history']) == 1 @@ -515,7 +516,7 @@ reply_exec = KC.get_shell_msg(timeout=TIMEOUT) msg_id = KC.history(hist_access_type = 'search', raw = True, output = True, n = 1, pattern = '*', session = 0) - reply = KC.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(KC, msg_id, TIMEOUT) validate_message(reply, 'history_reply', msg_id) content = reply['content'] assert len(content['history']) == 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/ipykernel/tests/utils.py new/ipykernel-5.4.3/ipykernel/tests/utils.py --- old/ipykernel-5.4.2/ipykernel/tests/utils.py 2020-12-10 23:41:31.000000000 +0100 +++ new/ipykernel-5.4.3/ipykernel/tests/utils.py 2021-01-11 18:09:17.000000000 +0100 @@ -6,6 +6,7 @@ import atexit import os import sys +from time import time from contextlib import contextmanager from queue import Empty @@ -52,13 +53,26 @@ validate_message(msg) +def get_reply(kc, msg_id, timeout): + timeout = TIMEOUT + t0 = time() + while True: + reply = kc.get_shell_msg(timeout=timeout) + if reply['parent_header']['msg_id'] == msg_id: + break + t1 = time() + timeout -= t1 - t0 + t0 = t1 + return reply + + def execute(code='', kc=None, **kwargs): """wrapper for doing common steps for validating an execution request""" from .test_message_spec import validate_message if kc is None: kc = KC msg_id = kc.execute(code=code, **kwargs) - reply = kc.get_shell_msg(timeout=TIMEOUT) + reply = get_reply(kc, msg_id, TIMEOUT) validate_message(reply, 'execute_reply', msg_id) busy = kc.get_iopub_msg(timeout=TIMEOUT) validate_message(busy, 'status', msg_id) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/ipykernel.egg-info/PKG-INFO new/ipykernel-5.4.3/ipykernel.egg-info/PKG-INFO --- old/ipykernel-5.4.2/ipykernel.egg-info/PKG-INFO 2020-12-11 23:22:33.000000000 +0100 +++ new/ipykernel-5.4.3/ipykernel.egg-info/PKG-INFO 2021-01-11 18:10:35.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: ipykernel -Version: 5.4.2 +Version: 5.4.3 Summary: IPython Kernel for Jupyter Home-page: https://ipython.org Author: IPython Development Team diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/ipykernel.egg-info/requires.txt new/ipykernel-5.4.3/ipykernel.egg-info/requires.txt --- old/ipykernel-5.4.2/ipykernel.egg-info/requires.txt 2020-12-11 23:22:33.000000000 +0100 +++ new/ipykernel-5.4.3/ipykernel.egg-info/requires.txt 2021-01-11 18:10:35.000000000 +0100 @@ -11,3 +11,4 @@ pytest-cov flaky nose +jedi<=0.17.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ipykernel-5.4.2/setup.py new/ipykernel-5.4.3/setup.py --- old/ipykernel-5.4.2/setup.py 2020-12-10 23:41:31.000000000 +0100 +++ new/ipykernel-5.4.3/setup.py 2021-01-11 18:09:17.000000000 +0100 @@ -97,6 +97,7 @@ 'pytest-cov', 'flaky', 'nose', # nose because there are still a few nose.tools imports hanging around + 'jedi<=0.17.2' ], }, classifiers=[