awesome-asyncio
by timofurrer
A curated list of awesome Python asyncio frameworks, libraries, software and resources
AI summary
Asyncio framework collection
A curated list of Python asyncio frameworks and libraries.
- stars
- 4.7K
- forks
- 322
- watching
- 125
- awesome lists
- 4
- entries
- 80
What's in the list
80 links in 15 sections, with live GitHub stats.activeno commit in 2y
Web Frameworks
FastAPI
A very high performance Python 3.6+ API framework based on type hints. Powered by Starlette and Pydantic
- Django
An established, high-level Python web framework with a huge community and ecosystem
Starlette
A lightweight ASGI framework/toolkit for building high performance services
aiohttp
Http client/server for asyncio (PEP-3156)
sanic
Python 3.5+ web server that's written to go fast
Quart
An asyncio web microframework with the same API as Flask
autobahn
WebSocket and WAMP supporting asyncio and Twisted, for clients and servers
websockets
A library for building WebSocket servers and clients in Python with a focus on correctness and simplicity
- Tornado
Performant web framework and asynchronous networking library
uvicorn
The lightning-fast ASGI server
Message Queues
Database Drivers
asyncpg
Fast PostgreSQL Database Client Library for Python/asyncio
asyncpgsa
Asyncpg with sqlalchemy core support
aiopg
Library for accessing a PostgreSQL database
aiomysql
Library for accessing a MySQL database
aioodbc
Library for accessing a ODBC databases
motor
The async Python driver for MongoDB
redis-py
Redis Python Client (which includes now)
aiocouchdb
CouchDB client built on top of aiohttp (asyncio)
aioinflux
InfluxDB client built on top of aiohttp
aioes
Asyncio compatible driver for elasticsearch
peewee-async
ORM implementation based on and aiopg
GINO
is a lightweight asynchronous Python ORM based on core, with dialect
Tortoise ORM
native multi-backend ORM with Django-like API and easy relations management
Databases
Async database access for SQLAlchemy core, with support for PostgreSQL, MySQL, and SQLite
Prisma Client Python
An auto-generated, fully type safe ORM powered by Pydantic and tailored specifically for your schema - supports SQLite, PostgreSQL, MySQL, MongoDB, MariaDB and more
Piccolo
An ORM / query builder which can work in async and sync modes, with a nice admin GUI, and ASGI middleware
- Beanie
An async MongoDB ODM built on and
Networking
GraphQL
- Ariadne
Schema-first Python library for implementing GraphQL servers
- Tartiflette
Schema-first Python 3.6+ GraphQL engine built on top of
- Strawberry
Code-first Python 3 GraphQL server with Django, Flask and FastAPI/Starlette support
Testing
aiomock
A python mock library that supports async methods
asynctest
Enhance the standard unittest package with features for testing. asyncio libraries
pytest-asyncio
Pytest support for asyncio
aresponses
Asyncio http mocking. Similar to the library used for
aioresponses
Helper for mock/fake web requests in Python aiohttp package
Alternative Loops
uvloop
Ultra fast implementation of asyncio event loop on top of libuv
Misc
aiochan
CSP-style concurrency with channels, select and multiprocessing on top of asyncio
aiocache
Cache manager for different backends
aiofiles
File support for asyncio
aiopath
Asynchronous for asyncio
aiodebug
A tiny library for monitoring and testing asyncio programs
aiorun
A function that handles all the usual boilerplate for startup and graceful shutdown
aiosc
Lightweight Open Sound Control implementation
aioserial
A drop-in replacement of
aiozipkin
Distributed tracing instrumentation for asyncio with zipkin
asgiref
Backend utils for ASGI to WSGI integration, includes sync_to_async and async_to_sync function wrappers
async_property
Python decorator for async properties
ruia
An async web scraping micro-framework based on asyncio
kubernetes_asyncio
Asynchronous client library for Kubernetes
aiomisc
Miscellaneous utils for
- taskiq
Asynchronous distributed task manager (like celery, but async)
Writings
- Official asyncio documentation
Asynchronous I/O, event loop, coroutines and tasks
- Short well-written intro to asyncio
Generators, Coroutines, Native Coroutines and async/await
- AsyncIO for the Working Python Developer
A gentle introduction to asynchronous programming from basic examples working up to URL fetching
- Test limits of Python aiohttp
Making 1 million requests with python-aiohttp
- ASGI (Asynchronous Server Gateway Interface)
A spiritual successor to WSGI, intended to provide a standard interface between async-capable Python web servers, frameworks, and applications
- First Principles Introduction to Asyncio
A no-buzzword first principles introduction to the internal workings of asyncio
- Developing and Testing an Asynchronous API with FastAPI and Pytest
This tutorial looks at how to develop and test an asynchronous API with FastAPI using Test-Driven Development (TDD)
- Python Concurrency with asyncio
Learn how to speed up slow Python code with concurrent programming and the cutting-edge asyncio library
Talks
- Topics of Interest (Python Asyncio)
| | - PyCon Brasil 2015 keynote (David Beazley)
- Python Asynchronous I/O Walkthrough
8-part code walkthrough (Philip Guo)
- Async/await in Python 3.5 and why it is awesome
EuroPython 2016 (Yury Selivanov)
- Fear and Awaiting in Async: A Savage Journey to the Heart of the Coroutine Dream
| - PyOhio 2016 keynote (David Beazley)
- Asynchronous Python for the Complete Beginner
| - PyCon 2017 (Miguel Grinberg)
- Demystifying Python's Async and Await Keywords
JetBrains TV 2020 (Michael Kennedy)
Alternatives to asyncio
curio
The coroutine concurrency library
Alternatives to asyncio / curio
Curio-Asyncio Bridge
basic curio -> asyncio coroutine bridge
Alternatives to asyncio
trio
Pythonic async I/O for humans and snake people
Alternatives to asyncio / trio
trio-asyncio
re-implementation of the asyncio mainloop on top of Trio
Alternatives to asyncio
AnyIO
High level asynchronous concurrency and networking framework that works on top of either trio or asyncio
Nothing in this list matches your filter.
Featured in 4 awesome lists
Each link jumps to the spot where the list mentions awesome-asyncio.