Skip to main content

Tornado IOLoop implementation with pyuv

Project description

Build status Downloads Latest Version License

tornaduv is a Tornado IOLoop implementation which uses pyuv as the networking library instead of the builtin epoll and kqueue pollers included in Tornado.

pyuv is a Python interface for libuv, a high performance asynchronous networking library used as the platform layer for NodeJS.


tornaduv requires pyuv >= 1.0.0 and Tornado >= 3.0.

pip install git+

NOTE: If you are using Tornado 2.4.x you need to use the ‘tornado24’ branch or the 0.2.x versions of tornaduv.

Using it

In order to use tornaduv, Tornado needs to be instructed to use our IOLoop. In order to do that add the following lines at the beginning of your project:

from tornado.ioloop import IOLoop
from tornaduv import UVLoop


If you want to run the Tornado test suite using tornaduv run the following command:

python -m tornado.test.runtests --ioloop='tornaduv.UVLoop' --verbose


Saúl Ibarra Corretgé <>


tornaduv uses the MIT license, check LICENSE file.

Project details

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page