uvloop 0,5,3,0,5,2,82,0 travis-ci python

Ultra fast implementation of asyncio event loop on top of libuv.

.. image:: https://travis-ci.org/MagicStack/uvloop.svg?branch=master :target: https://travis-ci.org/MagicStack/uvloop

.. image:: https://img.shields.io/pypi/v/uvloop.svg :target: https://pypi.python.org/pypi/uvloop

uvloop is a fast, drop-in replacement of the built-in asyncio event loop. uvloop is implemented in Cython and uses libuv under the hood.

The project documentation can be found here <http://uvloop.readthedocs.org/>. Please also check out the wiki <https://github.com/MagicStack/uvloop/wiki>.

Performance

uvloop makes asyncio 2-4x faster.

.. image:: performance.png :target: http://magic.io/blog/uvloop-blazing-fast-python-networking/

The above chart shows the performance of an echo server with different message sizes. The sockets benchmark uses loop.sock_recv() and loop.sock_sendall() methods; the streams benchmark uses asyncio high-level streams, created by the asyncio.start_server() function; and the protocol benchmark uses loop.create_server() with a simple echo protocol. Read more about uvloop performance <http://magic.io/blog/uvloop-blazing-fast-python-networking/>_.

Installation

uvloop requires Python 3.5 and is available on PyPI. Use pip to install it::

$ pip install uvloop

Using uvloop

To make asyncio use uvloop, you can install the uvloop event loop policy:

.. code:: python

import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())

Alternatively, you can create an instance of the loop manually, using:

.. code:: python

loop = uvloop.new_event_loop()
asyncio.set_event_loop(loop)

Development of uvloop

To build uvloop, you’ll need Cython and Python 3.5. The best way is to create a virtual env, so that you’ll have cython and python commands pointing to the correct tools.

  1. git clone --recursive [email protected]:MagicStack/uvloop.git

  2. cd uvloop

  3. make

  4. make test

License

uvloop is dual-licensed under MIT and Apache 2.0 licenses.

Related Repositories

japronto

japronto

Screaming-fast Python 3.5+ web micro-framework integrated with pipelining HTTP server based on uvloop and picohttpparser. ...

uvloop

uvloop

Ultra fast implementation of asyncio event loop on top of libuv. ...

wuy

wuy

Web User Ynterface : a simple module for making GUI applications (with html/js), with ASyncIO/uvloop/python3 ...


Top Contributors

1st1 elprans claws zchee asvetlov mtorromeo petriborg vodik kaniini

Releases

-   v0.5.3 zip tar
-   v0.5.2 zip tar
-   v0.5.1 zip tar
-   v0.5.0 zip tar
-   v0.4.34 zip tar
-   v0.4.33 zip tar
-   v0.4.32 zip tar
-   v0.4.31 zip tar
-   v0.4.30 zip tar
-   v0.4.29 zip tar
-   v0.4.28 zip tar
-   v0.4.27 zip tar
-   v0.4.26 zip tar
-   v0.4.25 zip tar
-   v0.4.24 zip tar
-   v0.4.23 zip tar
-   v0.4.22 zip tar
-   v0.4.21 zip tar
-   v0.4.20 zip tar
-   v0.4.19 zip tar
-   v0.4.18 zip tar
-   v0.4.17 zip tar
-   v0.4.16 zip tar
-   v0.4.15 zip tar
-   v0.4.14 zip tar
-   v0.4.13 zip tar
-   v0.4.12 zip tar
-   v0.4.11 zip tar
-   v0.4.10 zip tar
-   v0.4.9 zip tar