Asynchronous Framework Core

At the core of botoflow is asynchronous framework utilizing Future, similar to the Future described in PEP 3156. Since this code was developed before arrival of PEP 3156 and asyncio.

Todo

Eventually we will deprecate this approach in favor of using just asyncio as the core. This will take some time as we want to have Python 2.7 support, for as long as the language itself is supported.

Core event loop

class botoflow.core.async_event_loop.AsyncEventLoop

TODO Document

Async Traceback support and manipulation

This module simulates some functions from the original traceback module specifically for printing tracebacks. It tidies up the traceback, hiding the underlying asynchronous framework, so the tracebacks are much more readable.

botoflow.core.async_traceback.extract_tb(limit=None)

Return list of up to limit pre-processed entries from traceback.

This is useful for alternate formatting of stack traces. If 'limit' is omitted or None, all entries are extracted. A pre-processed stack trace entry is a quadruple (filename, line number, function name, text) representing the information that is usually printed for a stack trace. The text is a string with leading and trailing whitespace stripped; if the source is not available it is None.

botoflow.core.async_traceback.format_exc(limit=None, exception=None, tb_list=None)

This is like print_exc(limit) but returns a string instead of printing to a file.

botoflow.core.async_traceback.print_exc(limit=None, file=None)

Print exception information and up to limit stack trace entries to file

Decorators

botoflow.core.decorators.coroutine(func=None)
Returns
Return type
awsflow.core.future.Future
botoflow.core.decorators.daemon_coroutine(func=None)
Returns
Return type
awsflow.core.future.Future

Exceptions

exception botoflow.core.exceptions.CancellationError

Cancellation error exception

exception botoflow.core.exceptions.CancelledError

The Future was cancelled

Future and the like