Port of the asyncio project to Python 2.7
Python C Other
Pull request Compare This branch is 77 commits ahead, 166 commits behind python:master.
Latest commit 0ce9dcb Dec 5, 2016 @haypo committed on GitHub Merge pull request #11 from adamchainz/readthedocs.io
Convert readthedocs link for their .org -> .io migration for hosted projects
Failed to load latest commit information.
doc Convert readthedocs link for their .org -> .io migration for hosted p… Jun 2, 2016
examples From(proc.wait()) instead of form proc.wait() Feb 24, 2016
tests Merge pull request #6 from mindw/fix_win32_test Feb 5, 2016
trollius Fix CoroWrapper.throw() Feb 5, 2016
.gitattributes Switch hgignore and hgeol to git equivalents Apr 11, 2015
.gitignore ignore inline built extensions Nov 13, 2015
.travis.yml Run asyncio with python nightly builds too on travis Aug 5, 2015
AUTHORS replace Tulip with asyncio Jul 9, 2015
COPYING Python issue #23208: Add BaseEventLoop._current_handle Jan 26, 2015
MANIFEST.in prepare release 2.0 Jul 13, 2015
Makefile copy files from trollius Jul 7, 2015
README.rst Convert readthedocs link for their .org -> .io migration for hosted p… Jun 2, 2016
TODO.rst Ugly hack to support Python 3.5 with the PEP 479 Feb 5, 2016
check.py Port remaining files Jul 7, 2015
overlapped.c Port overlapped.c Jul 7, 2015
pypi.bat Python issue #23208: Add BaseEventLoop._current_handle Jan 26, 2015
releaser.conf use releaser Jul 7, 2015
run_aiotest.py Port remaining files Jul 7, 2015
runtests.py Test without ssl or without concurrent Jul 11, 2015
setup.py post-release: set version to 2.2 Feb 19, 2016
tox.ini Drop support of Python 2.6 and 3.2 Feb 5, 2016
update-asyncio-step1.sh enhance git merge Jul 11, 2015
update-asyncio-step2.sh Merge asyncio into trollius Jul 11, 2015
update-asyncio-step3.sh don't commit in update-asyncio-step3.sh Jul 11, 2015


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.