Skip to content
This repository has been archived by the owner on Sep 19, 2023. It is now read-only.

faust-streaming/aioeventlet

Repository files navigation

This is a fork of [aioeventlet](https://github.com/magma/deb-python-aioeventlet)
that contains some patches for more recent versions of Python used in the Magma
project. It is not maintained except for ensuring compatibility with Magma.

aioeventlet implements the asyncio API (PEP 3156) on top of eventlet. It makes
possible to write asyncio code in a project currently written for eventlet.

aioeventlet allows to use greenthreads in asyncio coroutines, and to use
asyncio coroutines, tasks and futures in greenthreads: see ``link_future()``
and ``wrap_greenthread()`` functions.

The main visible difference between aioeventlet and trollius is the behaviour
of ``run_forever()``: ``run_forever()`` blocks with trollius, whereas it runs
in a greenthread with aioeventlet. It means that aioeventlet event loop can run
in an greenthread while the Python main thread runs other greenthreads in
parallel.

* `faust-aioeventlet documentation <https://faust-streaming.github.io/aioeventlet/index.html>`_
* `aioeventlet project in the Python Cheeseshop (PyPI)
  <https://pypi.python.org/pypi/aioeventlet>`_
* `aioeventlet project at Bitbucket <https://bitbucket.org/haypo/aioeventlet>`_
* Copyright/license: Open source, Apache 2.0. Enjoy!