An open API service indexing awesome lists of open source software.

https://github.com/roverdotcom/trollius

trollius mirror-fork
https://github.com/roverdotcom/trollius

Last synced: 6 months ago
JSON representation

trollius mirror-fork

Awesome Lists containing this project

README

          

========
Trollius
========

.. image:: http://unmaintained.tech/badge.svg
:target: http://unmaintained.tech/
:alt: No Maintenance Intended

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 ``Future``\s 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.

* `Asyncio documentation `_
* `Trollius project in the Python Cheeseshop (PyPI)
`_
* `Trollius project at Github `_
(bug tracker, source code)
* Copyright/license: Open source, Apache 2.0. Enjoy!

See also the `asyncio project at Github `_.