{"id":72,"url":"https://github.com/timofurrer/awesome-asyncio","last_synced_at":"2025-08-21T05:31:55.680Z","repository":{"id":39617367,"uuid":"72524688","full_name":"timofurrer/awesome-asyncio","owner":"timofurrer","description":"A curated list of awesome Python asyncio frameworks, libraries, software and resources","archived":false,"fork":false,"pushed_at":"2023-04-09T17:23:44.000Z","size":156,"stargazers_count":4430,"open_issues_count":10,"forks_count":318,"subscribers_count":126,"default_branch":"main","last_synced_at":"2024-05-20T03:49:07.945Z","etag":null,"topics":["asyncio","awesome","awesome-list","closember","coroutines","python","python-asyncio"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timofurrer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-11-01T10:04:45.000Z","updated_at":"2024-05-19T08:42:19.000Z","dependencies_parsed_at":"2024-01-15T11:10:20.759Z","dependency_job_id":null,"html_url":"https://github.com/timofurrer/awesome-asyncio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timofurrer%2Fawesome-asyncio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timofurrer%2Fawesome-asyncio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timofurrer%2Fawesome-asyncio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timofurrer%2Fawesome-asyncio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timofurrer","download_url":"https://codeload.github.com/timofurrer/awesome-asyncio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230347130,"owners_count":18212199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asyncio","awesome","awesome-list","closember","coroutines","python","python-asyncio"],"created_at":"2024-01-05T20:12:45.522Z","updated_at":"2025-08-21T05:31:55.668Z","avatar_url":"https://github.com/timofurrer.png","language":null,"funding_links":[],"categories":["Programming Languages","Technical","Awesome Lists","Others","Networking","编程语言","Awesome Python","Uncategorized","Asynchronous Programming","HarmonyOS","Awesome awesomeness","Misc","front-end-development","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","异步编程","Other Lists","Master-Level","Themed Directories","miscellaneous","📝 More Awesome Lists"],"sub_categories":["awesome-*","Networking","Uncategorized","Windows Manager","Awesome python","TeX Lists","Master Informatik/KI","Drone Frames","Updated in the last year","Miscellaneous"],"readme":"\u003e [!WARNING]\n\u003e This project is looking for a new home. I'm no longer maintaining it.\n\u003e Please let me know if you want to take over maintainance for it.\n\u003e Write me an email to timo@furrer.life\n\n# Awesome asyncio [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\n\u003e A carefully curated list of awesome Python asyncio frameworks, libraries, software and resources.\n\nThe Python [asyncio](https://docs.python.org/3/library/asyncio.html) module introduced to the standard library with Python 3.4 provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.\n\nAsyncio is not really a brand-new technology however it appears to be very trending since a few years - especially in the Python community and with the release of Python 3.4 in March 2014.\nThus, it's pretty hard to keep yourself up-to-date with the most awesome packages out there.\nFind some of those *awesome* packages here and if you are missing one we count on you to [create an Issue or a Pull Request](https://github.com/timofurrer/awesome-asyncio/blob/master/CONTRIBUTING.md) with your suggestion.\n\n\n## Contents\n\n* [Web Frameworks](#web-frameworks)\n* [Message Queues](#message-queues)\n* [Database Drivers](#database-drivers)\n* [Networking](#networking)\n* [GraphQL](#graphql)\n* [Testing](#testing)\n* [Alternative Loops](#alternative-loops)\n* [Misc](#misc)\n* [Writings](#writings)\n* [Talks](#talks)\n* [Alternatives to asyncio](#alternatives-to-asyncio)\n\n***\n\n## Web Frameworks\n\n*Libraries to build web applications.*\n\n* [FastAPI](https://github.com/tiangolo/fastapi) - A very high performance Python 3.6+ API framework based on type hints. Powered by Starlette and Pydantic.\n* [Django](https://www.djangoproject.com/) - An established, high-level Python web framework with a huge community and ecosystem.\n* [Starlette](https://github.com/encode/starlette) - A lightweight ASGI framework/toolkit for building high performance services.\n* [aiohttp](https://github.com/KeepSafe/aiohttp) - Http client/server for asyncio (PEP-3156).\n* [sanic](https://github.com/channelcat/sanic) - Python 3.5+ web server that's written to go fast.\n* [Quart](https://github.com/pallets/quart) - An asyncio web microframework with the same API as Flask.\n* [autobahn](https://github.com/crossbario/autobahn-python) - WebSocket and WAMP supporting asyncio and Twisted, for clients and servers.\n* [websockets](https://github.com/aaugustin/websockets/) - A library for building WebSocket servers and clients in Python with a focus on correctness and simplicity.\n* [Tornado](http://www.tornadoweb.org/en/stable/) - Performant web framework and asynchronous networking library.\n* [uvicorn](https://github.com/encode/uvicorn) - The lightning-fast ASGI server.\n\n\n## Message Queues\n\n*Libraries to implement applications using message queues.*\n\n* [aioamqp](https://github.com/Polyconseil/aioamqp) - AMQP implementation using asyncio.\n* [pyzmq](https://github.com/zeromq/pyzmq) - Python bindings for ZeroMQ.\n* [aiozmq](https://github.com/aio-libs/aiozmq) - Alternative Asyncio integration with ZeroMQ.\n* [crossbar](https://github.com/crossbario/crossbar) - Crossbar.io is a networking platform for distributed and microservice applications.\n* [asyncio-nats](https://github.com/nats-io/asyncio-nats) - Client for the NATS messaging system.\n* [aiokafka](https://github.com/aio-libs/aiokafka) - Client for Apache Kafka.\n\n## Database Drivers\n\n*Libraries to connect to databases.*\n\n* [asyncpg](https://github.com/MagicStack/asyncpg) - Fast PostgreSQL Database Client Library for Python/asyncio.\n* [asyncpgsa](https://github.com/CanopyTax/asyncpgsa) - Asyncpg with sqlalchemy core support.\n* [aiopg](https://github.com/aio-libs/aiopg/) - Library for accessing a PostgreSQL database.\n* [aiomysql](https://github.com/aio-libs/aiomysql) - Library for accessing a MySQL database\n* [aioodbc](https://github.com/aio-libs/aioodbc) - Library for accessing a ODBC databases.\n* [motor](https://github.com/mongodb/motor) - The async Python driver for MongoDB.\n* [redis-py](https://github.com/redis/redis-py) - Redis Python Client (which includes [aioreadis](https://github.com/aio-libs/aioredis) now).\n* [aiocouchdb](https://github.com/aio-libs/aiocouchdb) - CouchDB client built on top of aiohttp (asyncio).\n* [aioinflux](https://github.com/plugaai/aioinflux) - InfluxDB client built on top of aiohttp.\n* [aioes](https://github.com/aio-libs/aioes) - Asyncio compatible driver for elasticsearch.\n* [peewee-async](https://github.com/05bit/peewee-async) - ORM implementation based on [peewee](https://github.com/coleifer/peewee) and aiopg.\n* [GINO](https://github.com/fantix/gino) - is a lightweight asynchronous Python ORM based on [SQLAlchemy](https://www.sqlalchemy.org/) core, with [asyncpg](https://github.com/MagicStack/asyncpg) dialect.\n* [Tortoise ORM](https://github.com/tortoise/tortoise-orm) - native multi-backend ORM with Django-like API and easy relations management.\n* [Databases](https://github.com/encode/databases) - Async database access for SQLAlchemy core, with support for PostgreSQL, MySQL, and SQLite.\n* [Prisma Client Python](https://github.com/RobertCraigie/prisma-client-py) - An auto-generated, fully type safe ORM powered by Pydantic and tailored specifically for your schema - supports SQLite, PostgreSQL, MySQL, MongoDB, MariaDB and more.\n* [Piccolo](https://github.com/piccolo-orm/piccolo) - An ORM / query builder which can work in async and sync modes, with a nice admin GUI, and ASGI middleware.\n* [Beanie](https://beanie-odm.dev) - An async MongoDB ODM built on [motor](https://github.com/mongodb/motor) and [Pydantic](https://pydantic-docs.helpmanual.io).\n\n## Networking\n\n*Libraries to communicate in your network.*\n\n* [AsyncSSH](https://github.com/ronf/asyncssh) - Provides an asynchronous client and server implementation of the SSHv2 protocol.\n* [aiodns](https://github.com/saghul/aiodns) - Simple DNS resolver for asyncio.\n* [aioping](https://github.com/stellarbit/aioping) - Fast asyncio implementation of ICMP (ping) protocol.\n* [httpx](https://github.com/encode/httpx) - asynchronous HTTP client for Python 3 with [requests](https://github.com/psf/requests) compatible API.\n\n## GraphQL\n\n*Libraries to build GraphQL servers.*\n\n* [Ariadne](https://ariadnegraphql.org) - Schema-first Python library for implementing GraphQL servers.\n* [Tartiflette](https://tartiflette.io/) - Schema-first Python 3.6+ GraphQL engine built on top of `libgraphqlparser`.\n* [Strawberry](https://strawberry.rocks) - Code-first Python 3 GraphQL server with Django, Flask and FastAPI/Starlette support.\n\n## Testing\n\n*Libraries to test asyncio based applications.*\n\n* [aiomock](https://github.com/nhumrich/aiomock/) - A python mock library that supports async methods.\n* [asynctest](https://github.com/Martiusweb/asynctest/) - Enhance the standard unittest package with features for testing. asyncio libraries\n* [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) - Pytest support for asyncio.\n* [aresponses](https://github.com/CircleUp/aresponses) - Asyncio http mocking. Similar to the [responses](https://github.com/getsentry/responses) library used for [requests](https://github.com/requests/requests).\n* [aioresponses](https://github.com/pnuckowski/aioresponses) - Helper for mock/fake web requests in Python aiohttp package.\n\n## Alternative Loops\n\n*Alternative asyncio loop implementations.*\n\n* [uvloop](https://github.com/MagicStack/uvloop) - Ultra fast implementation of asyncio event loop on top of libuv.\n\n## Misc\n\n*Other awesome asyncio libraries.*\n\n* [aiochan](https://github.com/zh217/aiochan) - CSP-style concurrency with channels, select and multiprocessing on top of asyncio.\n* [aiocache](https://github.com/argaen/aiocache) - Cache manager for different backends.\n* [aiofiles](https://github.com/Tinche/aiofiles/) - File support for asyncio.\n* [aiopath](https://github.com/alexdelorenzo/aiopath) - Asynchronous `pathlib` for asyncio.\n* [aiodebug](https://github.com/qntln/aiodebug) - A tiny library for monitoring and testing asyncio programs.\n* [aiorun](https://github.com/cjrh/aiorun) - A `run()` function that handles all the usual boilerplate for startup and graceful shutdown.\n* [aiosc](https://github.com/artfwo/aiosc) -  Lightweight Open Sound Control implementation.\n* [aioserial](https://github.com/changyuheng/aioserial) - A drop-in replacement of [pySerial](https://github.com/pyserial/pyserial).\n* [aiozipkin](https://github.com/aio-libs/aiozipkin) - Distributed tracing instrumentation for asyncio with zipkin\n* [asgiref](https://github.com/django/asgiref) - Backend utils for ASGI to WSGI integration, includes sync_to_async and async_to_sync function wrappers.\n* [async_property](https://github.com/ryananguiano/async_property) - Python decorator for async properties.\n* [ruia](https://github.com/howie6879/ruia) - An async web scraping micro-framework based on asyncio.\n* [kubernetes_asyncio](https://github.com/tomplus/kubernetes_asyncio) - Asynchronous client library for Kubernetes.\n* [aiomisc](https://github.com/aiokitchen/aiomisc) - Miscellaneous utils for `asyncio`.\n* [taskiq](https://taskiq-python.github.io/) - Asynchronous distributed task manager (like celery, but async). \n\n## Writings\n\n*Documentation, blog posts, and other awesome writing about asyncio.*\n\n* [Official asyncio documentation](https://docs.python.org/3/library/asyncio.html) - Asynchronous I/O, event loop, coroutines and tasks.\n* [Short well-written intro to asyncio](http://masnun.com/2015/11/13/python-generators-coroutines-native-coroutines-and-async-await.html) - Generators, Coroutines, Native Coroutines and async/await.\n* [AsyncIO for the Working Python Developer](https://hackernoon.com/asyncio-for-the-working-python-developer-5c468e6e2e8e) - A gentle introduction to asynchronous programming from basic examples working up to URL fetching.\n* [Test limits of Python aiohttp](https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html) - Making 1 million requests with python-aiohttp.\n* [ASGI (Asynchronous Server Gateway Interface)](https://asgi.readthedocs.io/en/latest/) - A spiritual successor to WSGI, intended to provide a standard interface between async-capable Python web servers, frameworks, and applications.\n* [First Principles Introduction to Asyncio](https://hackernoon.com/a-simple-introduction-to-pythons-asyncio-595d9c9ecf8c) - A no-buzzword first principles introduction to the internal workings of asyncio.\n* [Developing and Testing an Asynchronous API with FastAPI and Pytest](https://testdriven.io/blog/fastapi-crud/) - This tutorial looks at how to develop and test an asynchronous API with FastAPI using Test-Driven Development (TDD).\n* [Python Concurrency with asyncio](https://www.manning.com/books/python-concurrency-with-asyncio) - Learn how to speed up slow Python code with concurrent programming and the cutting-edge asyncio library.\n\n## Talks\n\n*Recordings of awesome talks about asyncio.*\n\n* [Topics of Interest (Python Asyncio)](https://youtu.be/ZzfHjytDceU) | [screencast](https://youtu.be/lYe8W04ERnY) | [slides](https://speakerdeck.com/dabeaz/topics-of-interest-async) - PyCon Brasil 2015 keynote (David Beazley).\n* [Python Asynchronous I/O Walkthrough](https://www.youtube.com/playlist?list=PLpEcQSRWP2IjVRlTUptdD05kG-UkJynQT) - 8-part code walkthrough (Philip Guo).\n* [Async/await in Python 3.5 and why it is awesome](https://www.youtube.com/watch?v=m28fiN9y_r8\u0026t=132s) - EuroPython 2016 (Yury Selivanov).\n* [Fear and Awaiting in Async: A Savage Journey to the Heart of the Coroutine Dream](https://www.youtube.com/watch?v=E-1Y4kSsAFc) | [screencast](https://www.youtube.com/watch?v=Bm96RqNGbGo) - PyOhio 2016 keynote (David Beazley).\n* [Asynchronous Python for the Complete Beginner](https://www.youtube.com/watch?v=iG6fr81xHKA) | [slides](https://speakerdeck.com/pycon2017/miguel-grinberg-asynchronous-python-for-the-complete-beginner) - PyCon 2017 (Miguel Grinberg).\n* [Demystifying Python's Async and Await Keywords](https://www.youtube.com/watch?v=F19R_M4Nay4) - JetBrains TV 2020 (Michael Kennedy)\n\n## Alternatives to asyncio\n\n*Alternative approaches to async programming in Python, some of which attempt to support some compatibility with `asyncio`, others are not compatible at all.*\n\n* [curio](https://github.com/dabeaz/curio) - The coroutine concurrency library.\n  * [Curio-Asyncio Bridge](https://github.com/dabeaz/curio/issues/190) - basic curio -\u003e asyncio coroutine bridge.\n* [trio](https://github.com/python-trio/trio) - Pythonic async I/O for humans and snake people.\n  * [trio-asyncio](https://github.com/python-trio/trio-asyncio) - re-implementation of the asyncio mainloop on top of Trio.\n* [AnyIO](https://github.com/agronholm/anyio) - High level asynchronous concurrency and networking framework that works on top of either trio or asyncio.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimofurrer%2Fawesome-asyncio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimofurrer%2Fawesome-asyncio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimofurrer%2Fawesome-asyncio/lists"}