15.14. AsyncIO 3rd Party
15.14.1. Unsync
Library decides which to run, thread, asyncio or sync
$ pip install unsync
>>>
... from unsync import unsync
...
... @unsync
... def my_function():
... pass
15.14.2. Twisted
Old project
$ pip install twisted
15.14.3. Gevent
Actively maintained
Greenlets (micro-threads running inside one thread)
$ pip install gevent
15.14.4. Tornado
Actively maintained
Web framework and asynchronous networking library
Open-sourced by Facebook after acquisition of FriendFeed
15.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
15.14.6. Trio
Python library for async concurrency and I/O
Focussed on usability and correctness
Introduced nursery (task groups)
15.14.7. UVLoop
The ultimate loop implementation for UNIXes (run this on production)
$ pip install uvloop
>>>
... import uvloop
...
... uvloop.install()
...
... loop = asyncio.new_event_loop()
... loop
<uvloop.Loop running=False closed=False debug=False>