##// END OF EJS Templates
Merge pull request #1893 from minrk/compositeerr...
Merge pull request #1893 from minrk/compositeerr Update Parallel Magics and Exception Display Based on feedback from @fperez, a few small changes to parallel exception handling and magics: Exception changes: * apply_requests trigger showtraceback machinery, so apply errors are as pretty as execute ones * InteractiveShell.showtraceback handles RemoteErrors, so it only draws the remote traceback, rather than the unhelpful local one. Magics changes: * removed parallelmagic extension * creating a Client *implies* activate of a lazily-evaluated directview on all engines * can activate Magics on multiple views with different suffixes: ```python eall = rc.activate('all', 'all') e0 = rc.activate(0, '0') %pxall a=5 %px0 print a ``` * add %pxconfig magic for changing default block/targets for a collection of magics * add targets arg to %%px cell magic * %result renamed to %pxresult for consistency (%result kept for bw compat) * %pxresult now only draws most recent result, but accepts all the output-formatting args of %%px * add --out arg to %%px for storing the AsyncResult object in the user_ns * changed %px to not be verbose by default, and added verbosity control to %pxconfig.

File last commit:

r6571:7b474d99
r7503:60e66298 merge
Show More
__init__.py
86 lines | 3.1 KiB | text/x-python | PythonLexer
Brian Granger
Continuing a massive refactor of everything.
r2205 # encoding: utf-8
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 """
Fernando Perez
Minor date/info updates for release.
r4451 IPython: tools for interactive and parallel computing in Python.
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0
Fernando Perez
Minor date/info updates for release.
r4451 http://ipython.org
Fernando Perez
Remove svn-style $Id marks from docstrings and Release imports....
r1853 """
Brian Granger
Continuing a massive refactor of everything.
r2205 #-----------------------------------------------------------------------------
Fernando Perez
Minor date/info updates for release.
r4451 # Copyright (c) 2008-2011, IPython Development Team.
Fernando Perez
Complete support of git commit info with IPython.sys_info()....
r3204 # Copyright (c) 2001-2007, Fernando Perez <fernando.perez@colorado.edu>
# Copyright (c) 2001, Janko Hauser <jhauser@zscout.de>
# Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu>
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 #
Fernando Perez
Complete support of git commit info with IPython.sys_info()....
r3204 # Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
Brian Granger
Continuing a massive refactor of everything.
r2205 #-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from __future__ import absolute_import
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0
Brian Granger
Continuing a massive refactor of everything.
r2205 import os
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 import sys
Brian Granger
Continuing a massive refactor of everything.
r2205
#-----------------------------------------------------------------------------
# Setup everything
#-----------------------------------------------------------------------------
Fernando Perez
Fix invalid version check in setup.py.
r3196 # Don't forget to also update setup.py when this changes!
Brian Granger
Clarifying that Python 2.6 is now required.
r2747 if sys.version[0:3] < '2.6':
raise ImportError('Python Version 2.6 or above is required for IPython.')
vivainio
Moved path to extensions - pickleshare failed because it imported...
r168
# Make it easy to import extensions - they are always directly on pythonpath.
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 # Therefore, non-IPython modules can be added to extensions directory.
# This should probably be in ipapp.py.
Brian Granger
Renaming Extensions=>extensions in code and imports.
r2064 sys.path.append(os.path.join(os.path.dirname(__file__), "extensions"))
fperez
Small fix to sys.argv, match python's default behavior.
r298
Brian Granger
Merging upstream changes from inputhook and config-refactor....
r2224 #-----------------------------------------------------------------------------
# Setup the top level names
#-----------------------------------------------------------------------------
vivainio
corrected some problematic module interdependencies
r695
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .config.loader import Config
from .core import release
from .core.application import Application
Brian Granger
Moving and renaming in preparation of subclassing InteractiveShell....
r2760 from .frontend.terminal.embed import embed
Scott Tsai
embed_kernel: give a clear error message on pyzmq ImportError
r6044
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .core.error import TryNext
Brian Granger
Moving and renaming in preparation of subclassing InteractiveShell....
r2760 from .core.interactiveshell import InteractiveShell
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .testing import test
Fernando Perez
Complete support of git commit info with IPython.sys_info()....
r3204 from .utils.sysinfo import sys_info
MinRK
remove unnecessarily specific extract_module_locals_above
r6570 from .utils.frame import extract_module_locals
vivainio
corrected some problematic module interdependencies
r695
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 # Release data
Brian Granger
Continuing a massive refactor of everything.
r2205 __author__ = ''
Thomas Kluyver
Replacing some .items() calls with .iteritems() for cleaner conversion with 2to3.
r3114 for author, email in release.authors.itervalues():
Brian Granger
Continuing a massive refactor of everything.
r2205 __author__ += author + ' <' + email + '>\n'
Brian Granger
Release.py => core/release.py and imports updated.
r2043 __license__ = release.license
__version__ = release.version
Scott Tsai
embed_kernel: only import zmq when needed
r6219
MinRK
adjust embed_kernel signature...
r6571 def embed_kernel(module=None, local_ns=None, **kwargs):
"""Embed and start an IPython kernel in a given scope.
Parameters
----------
module : ModuleType, optional
The module to load into IPython globals (default: caller)
local_ns : dict, optional
The namespace to load into IPython user namespace (default: caller)
kwargs : various, optional
Further keyword args are relayed to the KernelApp constructor,
allowing configuration of the Kernel. Will only have an effect
on the first embed_kernel call for a given process.
"""
MinRK
remove unnecessarily specific extract_module_locals_above
r6570 (caller_module, caller_locals) = extract_module_locals(1)
Scott Tsai
embed_kernel: only import zmq when needed
r6219 if module is None:
module = caller_module
if local_ns is None:
local_ns = caller_locals
MinRK
adjust embed_kernel signature...
r6571
Scott Tsai
embed_kernel: only import zmq when needed
r6219 # Only import .zmq when we really need it
from .zmq.ipkernel import embed_kernel as real_embed_kernel
MinRK
adjust embed_kernel signature...
r6571 real_embed_kernel(module=module, local_ns=local_ns, **kwargs)