Go to file
Victor Stinner 053155cfba Rewrite sock_connect() to be asynchronous
Copy/paste the code from Trollius, adapt it to work on Python 2, and support
asyncio and trollius.
2014-11-19 20:59:06 +01:00
2014-11-07 15:16:57 +01:00
2014-11-19 03:13:22 +01:00
2014-11-19 14:57:49 +01:00
2014-11-19 15:10:14 +01:00
2014-11-19 14:59:10 +01:00

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
RETIRED, further work has moved to Debian project infrastructure
Readme 312 KiB
Languages
Python 99.5%
Makefile 0.5%