5.14. AsyncIO 3rd Party
5.14.1. Unsync
Library decides which to run, thread, asyncio or sync
$ python -m pip install unsync
>>> #
... from unsync import unsync
...
... @unsync
... def my_function():
... pass
5.14.2. Twisted
Old project
$ python -m pip install twisted
5.14.3. Gevent
Actively maintained
Greenlets (micro-threads running inside one thread)
$ python -m pip install gevent
5.14.4. Tornado
Actively maintained
Web framework and asynchronous networking library
Open-sourced by Facebook after acquisition of FriendFeed
5.14.5. Curio
Coroutine-based library for concurrent Python systems programming
Provides standard programming abstractions such as tasks, sockets, files, locks and queues
Works on POSIX and Windows
5.14.6. Trio
Python library for async concurrency and I/O
Focussed on usability and correctness
Introduced nursery (task groups)
5.14.7. UVLoop
The ultimate loop implementation for UNIXes (run this on production)
$ python -m pip install uvloop
>>> #
... import uvloop
...
... uvloop.install()
...
... loop = asyncio.new_event_loop()
... loop
<uvloop.Loop running=False closed=False debug=False>