Port of the asyncio project to Python 2.7 - DEPRECATED: use asyncio on Python 3!
Clone or download
Pull request Compare This branch is 1518 commits ahead, 2 commits behind python:redirect.

README.rst

Trollius

No Maintenance Intended

Warning

The Trollius project is deprecated since the release 2.1.! Use asyncio on Python 3 instead.

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 OpenIndiana.

See also the asyncio project at Github.