Trollius provides infrastructure for writing single-threaded concurrent
code using coroutines, multiplexing I/O access over sockets and other
resources, running network clients and servers, and other related primitives.
Here is a more detailed list of the package contents:
- a pluggable event loop with various system-specific implementations;
- transport and protocol abstractions (similar to those in Twisted);
- concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and
others (some may be system-dependent);
- a Future class that mimics the one in the concurrent.futures module,
but adapted for use with the event loop;
- coroutines and tasks based on generators (yield), to help write
concurrent code in a sequential fashion;
- cancellation support for Futures and coroutines;
- synchronization primitives for use between coroutines in a single thread,
mimicking those in the threading module;
- an interface for passing work off to a threadpool, for times when you
absolutely, positively have to use a library that makes blocking I/O calls.
Trollius is a portage of the asyncio project (PEP 3156) on Python 2. Trollius works on
Python 2.6-3.5. It has been tested on Windows, Linux, Mac OS X, FreeBSD and
See also the asyncio project at Github.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.