053155cfba80fdcc848e6f96dcc87bea7281378f
Copy/paste the code from Trollius, adapt it to work on Python 2, and support asyncio and trollius.
asyncio event loop scheduling callbacks in eventlet.
* Trollius project: http://trollius.readthedocs.org/
* aiogreen at PyPI: https://pypi.python.org/pypi/aiogreen
Installation
============
Requirements:
- eventlet 0.14 or newer
- asyncio or trollius:
* Python 3.4 and newer: asyncio is now part of the stdlib
* Python 3.3: need Tulip 0.4.1 or newer (pip install asyncio)
* Python 2.6-3.2: need trollius 1.0 or newer (pip install trollius)
Type::
pip install aiogreen
or::
python setup.py install
Changelog
=========
2014-11-19: version 0.1
-----------------------
* First public release
Implemented
===========
Methods:
* call_at()
* call_later()
* call_soon()
* run_forever()
* run_in_executor()
* run_until_complete()
* create_connection(): TCP client
* stop()
* coroutines and tasks
Tests of aiogreen 0.1:
* Tested on Python 2.7, 3.3 and 3.5
* Tested on Linux and Windows
* Tested with Trollius 1.0, 1.0.1 and 1.0.2
* Tested with asyncio 0.4.1 and 3.4.2
Not supported (yet)
===================
* run an event loop in a thread different than the main thread
* sockets: create_server, sock_recv
* pipes: connect_read_pipe
* subprocesses: need pipes
* signal handlers: add_signal_handler (only for pyevent hub?)
To do
=====
* Write new unit tests, or split Tulip test suite between implementation tests
and specification tests
* Support eventlet without monkey-patching
* Test with Python 2 and 3
* Test with Trollius and asyncio
* Port to Windows; test on operating systems other than Linux
* Glue to ease debug: keep traceback between Handle, coroutine and greenthread.
Is it even possible?
* run_in_executor(): use eventlet.tpool as the default executor?
It avoids the dependency to concurrent.futures. aiogreen is written as a
temporary solution to switch from eventlet to asyncio. So it may be better to
use directly concurrent.futures to reduce the usage of eventlet?
Description
Languages
Python
99.5%
Makefile
0.5%