Skip to main content

Fast implementation of asyncio event loop on top of libuv

Project description

https://travis-ci.org/MagicStack/uvloop.svg?branch=master https://img.shields.io/pypi/v/uvloop.svg

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. Please also check out the wiki.

Performance

uvloop makes asyncio 2-4x faster.

performance.png

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.

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:

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

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

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 git@github.com:MagicStack/uvloop.git

  2. cd uvloop

  3. make

  4. make test

License

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uvloop-0.6.6.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

uvloop-0.6.6-cp35-cp35m-manylinux1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.5m

uvloop-0.6.6-cp35-cp35m-manylinux1_i686.whl (2.5 MB view details)

Uploaded CPython 3.5m

uvloop-0.6.6-cp35-cp35m-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.5mmacOS 10.12+ x86-64

File details

Details for the file uvloop-0.6.6.tar.gz.

File metadata

  • Download URL: uvloop-0.6.6.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for uvloop-0.6.6.tar.gz
Algorithm Hash digest
SHA256 fa0268b8dfd8af4d1002d6d15f9d8ffe98f3aa424b2bb6cb30c4858385bb726d
MD5 2ee6629cbb09d9b331e3f39217a845ee
BLAKE2b-256 8d265c9c7bb9193f5665ad057b31e927f749f968bd89ec089e76c6aa14e46d9c

See more details on using hashes here.

File details

Details for the file uvloop-0.6.6-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for uvloop-0.6.6-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e340b79173db64b464c5505a6dc4788b417080dff363d423bb446959b02a7ee8
MD5 6fb520afc72b0a93b39dff32a292195a
BLAKE2b-256 e20727495a03c16c6ca1a64e3304c89d1dc801132e657e348491c0fad9b038f3

See more details on using hashes here.

File details

Details for the file uvloop-0.6.6-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for uvloop-0.6.6-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5a65f9a32c71532c4d86353167b1db364c31394b483a57f904c2c6e8a354f3b2
MD5 e1c351c9510eed9f51998b5e4a5041a4
BLAKE2b-256 b33375a1086ee2d5bc2240659654949b7433be8e1642a930f314657e332ffb19

See more details on using hashes here.

File details

Details for the file uvloop-0.6.6-cp35-cp35m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for uvloop-0.6.6-cp35-cp35m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e8f5fe707ae1a97b5d82f37620444749b4034c17ba20df2c3551bd116fb2bc18
MD5 0a9b1c971cac2a527608ba4a004d719f
BLAKE2b-256 a8119984438c6969a165d324c3d5bf6858385722668b75a87f87cadbd5f5444e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page