##// END OF EJS Templates
Backport PR #2384: Adapt inline backend to changes in matplotlib...
Backport PR #2384: Adapt inline backend to changes in matplotlib Matplotlib recently merged https://github.com/matplotlib/matplotlib/pull/1125 that makes it simpler to use objective oriented figure creation by automatically creating the right canvas for the backend. To solve that all backends must provide a backend_xxx.FigureCanvas. This is obviosly missing from the inline backend. The change is needed to make the inline backend work with mpl's 1.2.x branch which is due to released soon. Simply setting the default canvas equal to a Agg canvas appears to work for both svg and png figures but I'm not sure weather that is the right approach. Should the canvas depend on the figure format and provide a svg canvas for a svg figure? (Note that before this change to matplotlib the canvas from a plt.figure call seams to be a agg type in all cases) Edit: I made the pull request against 0.13.1 since it would be good to have this in the stable branch for when mpl is released. Just let me know and I can rebase it against master

File last commit:

r7483:5887d587
r8562:7d16877a
Show More
__init__.py
75 lines | 2.2 KiB | text/x-python | PythonLexer
MinRK
update recently changed modules with Authors in docstring
r4018 """The IPython ZMQ-based parallel computing interface.
Authors:
* MinRK
"""
MinRK
cleanup pass
r3644 #-----------------------------------------------------------------------------
# Copyright (C) 2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
MinRK
depend on pyzmq-2.1dev on Windows...
r3779 import os
MinRK
warn on detection of libzmq 3
r4248 import warnings
MinRK
pyzmq-2.1.3 related testing adjustments
r3661 import zmq
MinRK
bind_kernel on a bound kernel is a no-op
r7312 from IPython.config.configurable import MultipleInstanceError
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 from IPython.zmq import check_for_zmq
MinRK
depend on pyzmq-2.1dev on Windows...
r3779
if os.name == 'nt':
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 min_pyzmq = '2.1.7'
else:
min_pyzmq = '2.1.4'
MinRK
warn on detection of libzmq 3
r4248
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 check_for_zmq(min_pyzmq, 'IPython.parallel')
MinRK
warn on detection of libzmq 3
r4248
MinRK
move IPython.zmq.parallel to IPython.parallel
r3666 from IPython.utils.pickleutil import Reference
MinRK
add DirectView.importer contextmanager, demote targets to mutable flag...
r3665
MinRK
organize IPython.parallel into subpackages
r3673 from .client.asyncresult import *
from .client.client import Client
from .client.remotefunction import *
from .client.view import *
from .controller.dependency import *
MinRK
include errors in IPython.parallel namespace
r7483 from .error import *
from .util import interactive
MinRK
organize IPython.parallel into subpackages
r3673
MinRK
add IPython.parallel.bind_kernel...
r6893 #-----------------------------------------------------------------------------
# Functions
#-----------------------------------------------------------------------------
def bind_kernel(**kwargs):
"""Bind an Engine's Kernel to be used as a full IPython kernel.
This allows a running Engine to be used simultaneously as a full IPython kernel
with the QtConsole or other frontends.
This function returns immediately.
"""
MinRK
bind_kernel on a bound kernel is a no-op
r7312 from IPython.zmq.ipkernel import IPKernelApp
MinRK
add IPython.parallel.bind_kernel...
r6893 from IPython.parallel.apps.ipengineapp import IPEngineApp
MinRK
bind_kernel on a bound kernel is a no-op
r7312
# first check for IPKernelApp, in which case this should be a no-op
# because there is already a bound kernel
if IPKernelApp.initialized() and isinstance(IPKernelApp._instance, IPKernelApp):
return
MinRK
add IPython.parallel.bind_kernel...
r6893 if IPEngineApp.initialized():
MinRK
bind_kernel on a bound kernel is a no-op
r7312 try:
app = IPEngineApp.instance()
except MultipleInstanceError:
pass
else:
return app.bind_kernel(**kwargs)
raise RuntimeError("bind_kernel be called from an IPEngineApp instance")
MinRK
add IPython.parallel.bind_kernel...
r6893
MinRK
add DirectView.importer contextmanager, demote targets to mutable flag...
r3665