- Notifications
You must be signed in to change notification settings - Fork590
Ultra fast asyncio event loop.
License
Apache-2.0, MIT licenses found
Licenses found
MagicStack/uvloop
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
uvloop is a fast, drop-in replacement of the built-in asyncioevent loop. uvloop is implemented in Cython and uses libuvunder the hood.
The project documentation can be foundhere. Please also check out thewiki.
uvloop makes asyncio 2-4x faster.

The above chart shows the performance of an echo server with differentmessage sizes. Thesockets benchmark usesloop.sock_recv() andloop.sock_sendall() methods; thestreams benchmark uses asynciohigh-level streams, created by theasyncio.start_server() function;and theprotocol benchmark usesloop.create_server() with a simpleecho protocol. Read more about uvloop in ablog postabout it.
uvloop requires Python 3.7 or greater and is available on PyPI.Use pip to install it:
$ pip install uvloop
Note that it is highly recommended toupgrade pip before installinguvloop with:
$ pip install -U pip
Calluvloop.install() before callingasyncio.run() ormanually creating an asyncio event loop:
importasyncioimportuvloopasyncdefmain():# Main entry-point. ...uvloop.install()asyncio.run(main())
To build uvloop, you'll need Python 3.7 or greater:
Clone the repository:
$ git clone --recursive git@github.com:MagicStack/uvloop.git$ cd uvloop
Create a virtual environment and activate it:
$ python3.7 -m venv uvloop-dev$ source uvloop-dev/bin/activate
Install development dependencies:
$ pip install -e .[dev]
Build and run tests:
$ make$ make test
uvloop is dual-licensed under MIT and Apache 2.0 licenses.
About
Ultra fast asyncio event loop.
Topics
Resources
License
Apache-2.0, MIT licenses found
Licenses found
Uh oh!
There was an error while loading.Please reload this page.