- 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.8 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
As of uvloop 0.18, the preferred way of using it is via theuvloop.run() helper function:
importuvloopasyncdefmain():# Main entry-point. ...uvloop.run(main())
uvloop.run() works by simply configuringasyncio.run()to use uvloop, passing all of the arguments to it, such asdebug,e.g.uvloop.run(main(), debug=True).
With Python 3.11 and earlier the following alternativesnippet can be used:
importasyncioimportsysimportuvloopasyncdefmain():# Main entry-point. ...ifsys.version_info>= (3,11):withasyncio.Runner(loop_factory=uvloop.new_event_loop)asrunner:runner.run(main())else:uvloop.install()asyncio.run(main())
To build uvloop, you'll need Python 3.8 or greater:
Clone the repository:
$ git clone --recursive git@github.com:MagicStack/uvloop.git$ cd uvloop
Create a virtual environment and activate it:
$ python3 -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.