##// END OF EJS Templates
Work on examples and fixed a super subtle bug in Component....
Work on examples and fixed a super subtle bug in Component. * Recently, we stopped copying the config passed to a Component. This had a subtle side effect that mutable config attribute values were becoming class wide attributes. We are now doing a deep copy of all attributes as they are set on the Component instance.

File last commit:

r2306:cc803e0b
r2337:ab18149a
Show More
asyncclient.py
42 lines | 1.5 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
# 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`.
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 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 (
AsyncClientConnector,
AsyncCluster
)
# Other things that the user will need
from IPython.kernel.task import MapTask, StringTask
from IPython.kernel.error import CompositeError
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
_client_tub = AsyncClientConnector()
get_multiengine_client = _client_tub.get_multiengine_client
get_task_client = _client_tub.get_task_client
get_client = _client_tub.get_client