[Python-modules-commits] [ipykernel] 01/07: Import ipykernel_4.6.1.orig.tar.gz

Gordon Ball chronitis-guest at moszumanska.debian.org
Fri Jun 23 11:27:57 UTC 2017


This is an automated email from the git hooks/post-receive script.

chronitis-guest pushed a commit to branch master
in repository ipykernel.

commit d0a88e1037cdabdca6c588c913d58510a5f8c999
Author: Gordon Ball <gordon at chronitis.net>
Date:   Fri Jun 23 13:12:10 2017 +0200

    Import ipykernel_4.6.1.orig.tar.gz
---
 docs/changelog.rst      |  9 +++++++++
 ipykernel/_version.py   |  2 +-
 ipykernel/eventloops.py | 32 ++++++++++++++++++++++++++++----
 ipykernel/ipkernel.py   |  4 ++--
 ipykernel/kernelbase.py | 11 ++++++++++-
 5 files changed, 50 insertions(+), 8 deletions(-)

diff --git a/docs/changelog.rst b/docs/changelog.rst
index 9107720..b49d4dc 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -4,6 +4,15 @@ Changes in IPython kernel
 4.6
 ---
 
+4.6.1
+*****
+
+`4.6.1 on GitHub <https://github.com/ipython/ipykernel/milestones/4.6.1>`__
+
+- Fix eventloop-integration bug preventing Qt windows/widgets from displaying with ipykernel 4.6.0 and IPython ≥ 5.2.
+- Avoid deprecation warnings about naive datetimes when working with jupyter_client ≥ 5.0.
+
+
 4.6.0
 *****
 
diff --git a/ipykernel/_version.py b/ipykernel/_version.py
index fbb14ee..fbcadc4 100644
--- a/ipykernel/_version.py
+++ b/ipykernel/_version.py
@@ -1,4 +1,4 @@
-version_info = (4, 6, 0)
+version_info = (4, 6, 1)
 __version__ = '.'.join(map(str, version_info))
 
 kernel_protocol_version_info = (5, 1)
diff --git a/ipykernel/eventloops.py b/ipykernel/eventloops.py
index 6c81cfd..d5cc740 100644
--- a/ipykernel/eventloops.py
+++ b/ipykernel/eventloops.py
@@ -72,11 +72,23 @@ def register_integration(*toolkitnames):
     return decorator
 
 
+def _loop_qt(app):
+    """Inner-loop for running the Qt eventloop
+
+    Pulled from guisupport.start_event_loop in IPython < 5.2,
+    since IPython 5.2 only checks `get_ipython().active_eventloop` is defined,
+    rather than if the eventloop is actually running.
+    """
+    app._in_event_loop = True
+    app.exec_()
+    app._in_event_loop = False
+
+
 @register_integration('qt', 'qt4')
 def loop_qt4(kernel):
     """Start a kernel with PyQt4 event loop integration."""
 
-    from IPython.lib.guisupport import get_app_qt4, start_event_loop_qt4
+    from IPython.lib.guisupport import get_app_qt4
 
     kernel.app = get_app_qt4([" "])
     kernel.app.setQuitOnLastWindowClosed(False)
@@ -84,7 +96,8 @@ def loop_qt4(kernel):
     for s in kernel.shell_streams:
         _notify_stream_qt(kernel, s)
 
-    start_event_loop_qt4(kernel.app)
+    _loop_qt(kernel.app)
+
 
 @register_integration('qt5')
 def loop_qt5(kernel):
@@ -93,12 +106,23 @@ def loop_qt5(kernel):
     return loop_qt4(kernel)
 
 
+def _loop_wx(app):
+    """Inner-loop for running the Wx eventloop
+
+    Pulled from guisupport.start_event_loop in IPython < 5.2,
+    since IPython 5.2 only checks `get_ipython().active_eventloop` is defined,
+    rather than if the eventloop is actually running.
+    """
+    app._in_event_loop = True
+    app.MainLoop()
+    app._in_event_loop = False
+
+
 @register_integration('wx')
 def loop_wx(kernel):
     """Start a kernel with wx event loop support."""
 
     import wx
-    from IPython.lib.guisupport import start_event_loop_wx
 
     if _use_appnope() and kernel._darwin_app_nap:
         # we don't hook up App Nap contexts for Wx,
@@ -143,7 +167,7 @@ def loop_wx(kernel):
     if not callable(signal.getsignal(signal.SIGINT)):
         signal.signal(signal.SIGINT, signal.default_int_handler)
 
-    start_event_loop_wx(kernel.app)
+    _loop_wx(kernel.app)
 
 
 @register_integration('tk')
diff --git a/ipykernel/ipkernel.py b/ipykernel/ipkernel.py
index d28302c..c9627ad 100644
--- a/ipykernel/ipkernel.py
+++ b/ipykernel/ipkernel.py
@@ -213,7 +213,7 @@ class IPythonKernel(KernelBase):
                 u'evalue': safe_unicode(err),
             })
 
-            # FIXME: deprecate piece for ipyparallel:
+            # FIXME: deprecated piece for ipyparallel (remove in 5.0):
             e_info = dict(engine_uuid=self.ident, engine_id=self.int_id,
                           method='execute')
             reply_content['engine_info'] = e_info
@@ -351,7 +351,7 @@ class IPythonKernel(KernelBase):
                 u'ename': unicode_type(type(e).__name__),
                 u'evalue': safe_unicode(e),
             }
-            # FIXME: deprecate piece for ipyparallel:
+            # FIXME: deprecated piece for ipyparallel (remove in 5.0):
             e_info = dict(engine_uuid=self.ident, engine_id=self.int_id, method='apply')
             reply_content['engine_info'] = e_info
 
diff --git a/ipykernel/kernelbase.py b/ipykernel/kernelbase.py
index 127199e..90f33cf 100644
--- a/ipykernel/kernelbase.py
+++ b/ipykernel/kernelbase.py
@@ -11,6 +11,13 @@ import logging
 import uuid
 
 from datetime import datetime
+try:
+    # jupyter_client >= 5, use tz-aware now
+    from jupyter_client.session import utcnow as now
+except ImportError:
+    # jupyter_client < 5, use local now()
+    now = datetime.now
+
 from signal import signal, default_int_handler, SIGINT
 
 import zmq
@@ -350,8 +357,10 @@ class Kernel(SingletonConfigurable):
 
         Run at the beginning of execution requests.
         """
+        # FIXME: `started` is part of ipyparallel
+        # Remove for ipykernel 5.0
         return {
-            'started': datetime.now(),
+            'started': now(),
         }
 
     def finish_metadata(self, parent, metadata, reply_content):

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/ipykernel.git



More information about the Python-modules-commits mailing list