skillfed

uvloop

Fast implementation of asyncio event loop on top of libuv

uvloop Permissive license MIT License Active 11,884 v0.22.1 released

Install

uvloop on PyPI

pip

pip install uvloop

uv

uv add uvloop

poetry

poetry add uvloop

Package facts

License MIT License (permissive)
Python support supports the current Python release (>=3.8.1)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 301 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: uvloop-0.22.1-cp310-cp310-macosx_10_9_universal2.whl; uvloop-0.22.1-cp310-cp310-macosx_10_9_x86_64.whl; uvloop-0.22.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; uvloop-0.22.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; uvloop-0.22.1-cp310-cp310-musllinux_1_2_aarch64.whl; uvloop-0.22.1-cp310-cp310-musllinux_1_2_x86_64.whl; uvloop-0.22.1-cp311-cp311-macosx_10_9_universal2.whl; uvloop-0.22.1-cp311-cp311-macosx_10_9_x86_64.whl; uvloop-0.22.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; uvloop-0.22.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; uvloop-0.22.1-cp311-cp311-musllinux_1_2_aarch64.whl; uvloop-0.22.1-cp311-cp311-musllinux_1_2_x86_64.whl; uvloop-0.22.1-cp312-cp312-macosx_10_13_universal2.whl; uvloop-0.22.1-cp312-cp312-macosx_10_13_x86_64.whl; uvloop-0.22.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; uvloop-0.22.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; uvloop-0.22.1-cp312-cp312-musllinux_1_2_aarch64.whl; uvloop-0.22.1-cp312-cp312-musllinux_1_2_x86_64.whl; uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.whl; uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl

Keywords: asyncio, networking

Development Status :: 5 - Production/StableFramework :: AsyncIOIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: System :: Networking

About uvloop

from the package's own PyPI description — quoted content, verbatim

.. image:: https://img.shields.io/github/actions/workflow/status/MagicStack/uvloop/tests.yml?branch=master :target: https://github.com/MagicStack/uvloop/actions/workflows/tests.yml?query=branch%3Amaster

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

.. image:: https://pepy.tech/badge/uvloop :target: https://pepy.tech/project/uvloop :alt: PyPI - Downloads

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:: https://raw.githubusercontent.com/MagicStack/uvloop/master/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...

Read as markdown · JSON record · Source repository

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

uvloop is a fast, drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv under the hood to achieve 2-4x performance improvements for async I/O operations.

Medium install friction due to compiled C extensions (Cython/libuv); prebuilt wheels available for Python 3.10–3.13 on macOS, Linux, and musl platforms. Actively maintained with status active and strong community adoption.

Dual-licensed under MIT and Apache 2.0 (permissive); either license permits commercial and private use with minimal restrictions, making uvloop suitable for most projects.

Usage

import uvloop

async def main():
    pass

uvloop.run(main())

Requires Python 3.8.1 or greater; compiled extension may require build tools on platforms without prebuilt wheels.

Verdict: uvloop is a production-stable, actively maintained asyncio accelerator with no known vulnerabilities, dual permissive licensing, and broad platform support. Medium install friction from compilation is offset by significant performance gains (2-4x) and top-1000 PyPI popularity, making it a well-vetted choice for performance-critical async applications.

Needs verification

  • Whether prebuilt wheels cover all target deployment platforms (fact sheet shows cp310–cp313, but deployment OS/arch may differ)
  • Compatibility guarantees with specific asyncio frameworks or libraries that depend on event loop internals
  • Support status for Python 3.8 and 3.9 given friction evidence only lists cp310–cp313 wheels
asyncio event loop replacementfast async networking pythonlibuv python asynciohigh performance event loopasyncio performance boostpython async i/o speedupuvloop asyncio alternative

Similar packages