[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