##// END OF EJS Templates
Merge pull request #1946 from tkf/terminal-image-handler...
Merge pull request #1946 from tkf/terminal-image-handler Add image message handler in ZMQTerminalInteractiveShell This change introduces several handlers for messages which contain image in ZMQTerminalInteractiveShell. This is useful, for example, when connecting to the kernel in which pylab inline backend is activated. This PR will fix #1575.

File last commit:

r7543:d37e1be7
r8505:ee83d92c merge
Show More
__init__.py
73 lines | 2.3 KiB | text/x-python | PythonLexer
MinRK
cleaner error on pyzmq < 2.0.10.
r3317 #-----------------------------------------------------------------------------
MinRK
add basics to top-level IPython.zmq namespace
r7543 # Copyright (C) 2010 The IPython Development Team
MinRK
cleaner error on pyzmq < 2.0.10.
r3317 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING.txt, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
MinRK
update zmq dependency to 2.1.4
r4028 # Verify zmq version dependency >= 2.1.4
MinRK
cleaner error on pyzmq < 2.0.10.
r3317 #-----------------------------------------------------------------------------
MinRK
warn on detection of libzmq 3
r4248 import warnings
Szabolcs Horvát
Now using distutils.version instead of setuptools
r5374 from distutils.version import LooseVersion as V
MinRK
warn on detection of libzmq 3
r4248
MinRK
add `patch_pyzmq` for backporting a few changes from pyzmq...
r6628
def patch_pyzmq():
"""backport a few patches from newer pyzmq
These can be removed as we bump our minimum pyzmq version
"""
import zmq
MinRK
add ioloop.install to backported patches
r6631
# ioloop.install, introduced in pyzmq 2.1.7
from zmq.eventloop import ioloop
def install():
import tornado.ioloop
tornado.ioloop.IOLoop = ioloop.IOLoop
if not hasattr(ioloop, 'install'):
ioloop.install = install
MinRK
add `patch_pyzmq` for backporting a few changes from pyzmq...
r6628 # fix missing DEALER/ROUTER aliases in pyzmq < 2.1.9
if not hasattr(zmq, 'DEALER'):
zmq.DEALER = zmq.XREQ
if not hasattr(zmq, 'ROUTER'):
zmq.ROUTER = zmq.XREP
# fallback on stdlib json if jsonlib is selected, because jsonlib breaks things.
# jsonlib support is removed from pyzmq >= 2.2.0
from zmq.utils import jsonapi
if jsonapi.jsonmod.__name__ == 'jsonlib':
import json
jsonapi.jsonmod = json
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 def check_for_zmq(minimum_version, module='IPython.zmq'):
try:
import zmq
except ImportError:
raise ImportError("%s requires pyzmq >= %s"%(module, minimum_version))
MinRK
cleaner error on pyzmq < 2.0.10.
r3317
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 pyzmq_version = zmq.__version__
Szabolcs Horvát
Cleaner minimum version comparison using setuptools to reduce chance of breakage (0.11 broke with pyzmq 2.1.10)
r5373
Szabolcs Horvát
Check for dev version of zmq per @minrk's request
r5386 if 'dev' not in pyzmq_version and V(pyzmq_version) < V(minimum_version):
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 raise ImportError("%s requires pyzmq >= %s, but you have %s"%(
module, minimum_version, pyzmq_version))
MinRK
cleaner error on pyzmq < 2.0.10.
r3317
Szabolcs Horvát
Cleaner minimum version comparison using setuptools to reduce chance of breakage (0.11 broke with pyzmq 2.1.10)
r5373 if V(zmq.zmq_version()) >= V('4.0.0'):
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 warnings.warn("""libzmq 4 detected.
It is unlikely that IPython's zmq code will work properly.
Please install libzmq stable, which is 2.1.x or 2.2.x""",
RuntimeWarning)
MinRK
warn on detection of libzmq 3
r4248
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 check_for_zmq('2.1.4')
MinRK
add `patch_pyzmq` for backporting a few changes from pyzmq...
r6628 patch_pyzmq()
MinRK
add basics to top-level IPython.zmq namespace
r7543
from .blockingkernelmanager import BlockingKernelManager
from .kernelmanager import *
from .session import Session