- Notifications
You must be signed in to change notification settings - Fork591
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.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.