async-tokio is a drop-in replacement of the built-in asyncio event loop. async-tokio is implemented in rust and uses tokio-rs under the hood and PyO3 python binding.
You can create an instance of the loop manually, using:
import tokio
policy = tokio.EventLoopPolicy()
asyncio.set_event_loop_policy(policy)
To build tokio loop, you'll need rust nightly and Python 3.6. The best way
is to create a virtual env, so that you'll have python
commands pointing to the correct tools.
git clone git@github.com:PyO3/tokio.git
cd tokio
make build
make test
At the moment async-tokio works on unix like systems only. Supported api:
- time api (call_at, call_later)
- sockets api (sock_xxx methods)
- tcp (client/server)
- unix domain socket
- dns
- pipes
- subprocess
- signals
- executors
UDP support is missing.
async-tokio
is offered under the Apache 2.0 licenses.