Back to Explore

MagicStack/uvloop

GitHub
1 watchersOpen source

Last release: 2025-10-16

uvloop is an ultra fast, drop-in replacement for Python’s built-in asyncio event loop. It is implemented in Cython and uses libuv, making it useful for speeding up asyncio networking workloads. The project provides a `uvloop.run()` helper (or `uvloop.install()`) to start asyncio using the uvloop event loop.

Project status

  • MagicStack/uvloop appears actively maintained, with an upstream push on 2026-05-04 and subsequent recent updates, including v0.22.0 and v0.22.1 (both dated 2025-10-16).
  • The apparent update cadence is irregular but fairly recent, with the latest upstream activity in mid-2026, and prior version milestones roughly about yearly (2023, 2024, 2025) plus packaging and compatibility-focused updates in between.

AI summary generated 2026-06-09

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v0.22.1

    2025-10-16

    Release v0.22.1 claims to be identical to v0.22.0, re-run with CI fixes. The code diff is limited to the GitHub Actions workflow for publishing to PyPI and the package version constant.

  • v0.22.0

    2025-10-16

    v0.22.0 focuses on Python 3.14 compatibility and adds support for CPython free-threading builds. The diff also includes several packaging and CI updates to build and test additional Python variants, including 3.14 and 3.14t.

    Features
  • v0.21.0

    2024-10-14

    v0.21.0 primarily updates packaging/build metadata, with no runtime code changes shown in the diff from v0.21.0beta1 to v0.21.0. The only code-related modification visible is the version string update, plus a CI workflow update to a newer cibuildwheel action.

  • v0.21.0beta1

    2024-09-03

    v0.21.0beta1 adds CI coverage for Python 3.13 and updates build tooling (notably cibuildwheel and Cython requirements). The code changes also introduce new UNIX socket cleanup behavior and adjust internal UDP/TLS related handling, but the release notes section is empty so these changes are not documented.

    Features
  • v0.20.0

    2024-08-15

    v0.20.0 upgrades the bundled libuv dependency and includes a few build/test reliability fixes. The release notes mention libuv 1.48.0, a Python 3.12 test fix, switching to sched_getaffinity for build parallelism, and inlining _Py_RestoreSignals from CPython. The code diff also shows additional, user-visible DNS behavior changes and new security regression tests that are not described in the release notes.

  • v0.19.0

    2023-10-22

    v0.19.0 drops Python 3.7 support, updating package metadata, build/runtime checks, docs, and CI to require Python 3.8+. Most other code changes are ancillary (typing/docs fixes and CI workflow maintenance), with a larger internal refactor in `uvloop.__init__` focused on improving typing.

    Breaking
  • v0.18.0

    2023-10-13

    v0.18.0 is primarily focused on CI and Python 3.12 compatibility. The release notes mention making `extract_stack` more resilient and porting to Python 3.12, plus a set of CI workflow fixes.

  • v0.17.0

    2022-09-14

    v0.17.0 adds Python 3.11 support and bumps the bundled libuv to 1.43.0. It also exposes additional libuv integration points (uv_loop_t pointer, uv_fs_event functionality, and uv_version) and includes a set of bug fixes related to asyncio/uvloop edge cases.

    BreakingFeatures
  • v0.16.0

    2021-08-10

    v0.16.0 adds Python 3.10 support, updates the bundled vendored libuv to 1.42.0, and introduces a small API addition for timer handles. It also contains several SSL and threading related fixes and adjusts the project build/test automation to use cibuildwheel for wheel creation.

    Features
  • v0.15.3

    2021-07-13

    v0.15.3 contains targeted bug fixes related to SSLProtocol wakeup/data ordering and thread-safety of call_soon_threadsafe. It also includes internal scheduling changes in the loop implementation to make ready-handle enqueueing safer under concurrency.