##// END OF EJS Templates
Cleaned up embedded shell and added cleanup method to InteractiveShell....
Cleaned up embedded shell and added cleanup method to InteractiveShell. * Added explicit code in InteractiveShell to make sure it cleans itself up. This is now done by the single method .cleanup, that can be called to have InteractiveShell cleanup. We can't use __del__ because of the many cycles in our object graph. * The embedded shell is refactored to no embedding logic is in the base class. Thus, InteractiveShell no longer takes an ``embedded`` argument. Just use InteractiveShellEmbed. * Created a super simple top-level :func:`embed` function that creates an InteractiveShellEmbed and calls it.

File last commit:

r1395:1feaf0a3
r2226:7053ea2c
Show More
asyncclient.py
41 lines | 1.5 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""Asynchronous clients for the IPython controller.
This module has clients for using the various interfaces of the controller
in a fully asynchronous manner. This means that you will need to run the
Twisted reactor yourself and that all methods of the client classes return
deferreds to the result.
The main methods are are `get_*_client` and `get_client`.
"""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 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
#-------------------------------------------------------------------------------
from IPython.kernel import codeutil
from IPython.kernel.clientconnector import ClientConnector
# Other things that the user will need
from IPython.kernel.task import MapTask, StringTask
from IPython.kernel.error import CompositeError
#-------------------------------------------------------------------------------
# Code
#-------------------------------------------------------------------------------
_client_tub = ClientConnector()
get_multiengine_client = _client_tub.get_multiengine_client
get_task_client = _client_tub.get_task_client
get_client = _client_tub.get_client