Track Awesome Asyncio Updates Daily
A curated list of awesome Python asyncio frameworks, libraries, software and resources
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 timofurrer/awesome-asyncio · ⭐ 3.8K · 🏷️ Programming Languages
Jan 08, 2023
Misc
- async_property (⭐51) - Python decorator for async properties.
- taskiq - Asynchronous distributed task manager (like celery, but async).
Dec 23, 2022
Web Frameworks
- Django - An established, high-level Python web framework with a huge community and ecosystem.
Nov 09, 2022
Database Drivers
- Beanie - An async MongoDB ODM built on motor (⭐2.1k) and Pydantic.
Oct 30, 2022
Web Frameworks
- Quart (⭐1.5k) - An asyncio web microframework with the same API as Flask.
Database Drivers
- redis-py (⭐11k) - Redis Python Client (which includes aioreadis (⭐2.3k) now).
- Prisma Client Python (⭐930) - 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 (⭐925) - An ORM / query builder which can work in async and sync modes, with a nice admin GUI, and ASGI middleware.
Networking
- aioping (⭐68) - Fast asyncio implementation of ICMP (ping) protocol.
GraphQL
- Strawberry - Code-first Python 3 GraphQL server with Django, Flask and FastAPI/Starlette support.
Misc
- aiochan (⭐127) - CSP-style concurrency with channels, select and multiprocessing on top of asyncio.
- aiopath (⭐70) - Asynchronous
pathlib
for asyncio.
- aiosc (⭐26) - Lightweight Open Sound Control implementation.
- kubernetes_asyncio (⭐253) - Asynchronous client library for Kubernetes.
- aiomisc (⭐294) - Miscellaneous utils for
asyncio
.
Alternatives to asyncio
- AnyIO (⭐1.1k) - High level asynchronous concurrency and networking framework that works on top of either trio or asyncio.
Aug 10, 2022
Talks
- Demystifying Python's Async and Await Keywords - JetBrains TV 2020 (Michael Kennedy)
Sep 22, 2021
Writings
- Python Concurrency with asyncio - Learn how to speed up slow Python code with concurrent programming and the cutting-edge asyncio library.
Feb 11, 2020
Misc
- aiocache (⭐769) - Cache manager for different backends.
Jan 21, 2020
Writings
- 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).
Jan 14, 2020
Networking
- httpx (⭐9.8k) - asynchronous HTTP client for Python 3 with requests (⭐49k) compatible API.
Jun 01, 2019
GraphQL
- Ariadne - Schema-first Python library for implementing GraphQL servers.
- Tartiflette - Schema-first Python 3.6+ GraphQL engine built on top of
libgraphqlparser
.
May 17, 2019
Misc
- asgiref (⭐1.1k) - Backend utils for ASGI to WSGI integration, includes sync_to_async and async_to_sync function wrappers.
Feb 24, 2019
Alternatives to asyncio
- curio (⭐3.9k) - The coroutine concurrency library.
- Curio-Asyncio Bridge (⭐3.9k) - basic curio -> asyncio coroutine bridge.
- trio (⭐5k) - Pythonic async I/O for humans and snake people.
- trio-asyncio (⭐163) - re-implementation of the asyncio mainloop on top of Trio.
Feb 23, 2019
Talks
- 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 | screencast - PyOhio 2016 keynote (David Beazley).
- Asynchronous Python for the Complete Beginner | slides - PyCon 2017 (Miguel Grinberg).
Feb 14, 2019
Database Drivers
- Databases (⭐3.2k) - Async database access for SQLAlchemy core, with support for PostgreSQL, MySQL, and SQLite.
Jan 01, 2019
Message Queues
- pyzmq (⭐3.2k) - Python bindings for ZeroMQ.
- aiozmq (⭐394) - Alternative Asyncio integration with ZeroMQ.
Writings
- 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.
Dec 24, 2018
Database Drivers
- Tortoise ORM (⭐3.3k) - native multi-backend ORM with Django-like API and easy relations management.
Dec 22, 2018
Web Frameworks
- FastAPI (⭐53k) - A very high performance Python 3.6+ API framework based on type hints. Powered by Starlette and Pydantic.
Nov 11, 2018
Testing
- aresponses (⭐93) - Asyncio http mocking. Similar to the responses (⭐3.8k) library used for requests (⭐49k).
- aioresponses (⭐402) - Helper for mock/fake web requests in Python aiohttp package.
Oct 31, 2018
Web Frameworks
- uvicorn (⭐6k) - The lightning-fast ASGI server.
Oct 23, 2018
Misc
- ruia (⭐1.6k) - An async web scraping micro-framework based on asyncio.
Oct 21, 2018
Web Frameworks
- Starlette (⭐7.8k) - A lightweight ASGI framework/toolkit for building high performance services.
Oct 17, 2018
Networking
- aiodns (⭐472) - Simple DNS resolver for asyncio.
Sep 29, 2018
Misc
- aioserial (⭐109) - A drop-in replacement of pySerial (⭐2.8k).
Aug 23, 2018
Message Queues
- asyncio-nats (⭐608) - Client for the NATS messaging system.
- aiokafka (⭐820) - Client for Apache Kafka.
Jul 19, 2018
Talks
- Topics of Interest (Python Asyncio) | screencast | slides - PyCon Brasil 2015 keynote (David Beazley).
- Python Asynchronous I/O Walkthrough - 8-part code walkthrough (Philip Guo).
May 28, 2018
Writings
- Test limits of Python aiohttp - Making 1 million requests with python-aiohttp.
May 26, 2018
Web Frameworks
- Tornado - Performant web framework and asynchronous networking library.
Apr 12, 2018
Database Drivers
- aioinflux (⭐159) - InfluxDB client built on top of aiohttp.
Mar 08, 2018
Database Drivers
- GINO (⭐2.5k) - is a lightweight asynchronous Python ORM based on SQLAlchemy core, with asyncpg (⭐5.8k) dialect.
Dec 23, 2017
Writings
- AsyncIO for the Working Python Developer - A gentle introduction to asynchronous programming from basic examples working up to URL fetching.
Dec 06, 2017
Misc
- aiozipkin (⭐177) - Distributed tracing instrumentation for asyncio with zipkin
Nov 08, 2017
Web Frameworks
- websockets (⭐4.3k) - A library for building WebSocket servers and clients in Python with a focus on correctness and simplicity.
Oct 28, 2017
Misc
- aiorun (⭐349) - A
run()
function that handles all the usual boilerplate for startup and graceful shutdown.
Aug 11, 2017
Misc
- aiodebug (⭐56) - A tiny library for monitoring and testing asyncio programs.
Apr 05, 2017
Database Drivers
- asyncpgsa (⭐404) - Asyncpg with sqlalchemy core support.
Jan 31, 2017
Testing
- aiomock (⭐23) - A python mock library that supports async methods.
Jan 01, 2017
Database Drivers
- peewee-async (⭐667) - ORM implementation based on peewee (⭐9.7k) and aiopg.
Dec 17, 2016
Database Drivers
- asyncpg (⭐5.8k) - Fast PostgreSQL Database Client Library for Python/asyncio.
- aioes (⭐97) - Asyncio compatible driver for elasticsearch.
Nov 11, 2016
Web Frameworks
- aiohttp (⭐13k) - Http client/server for asyncio (PEP-3156).
- sanic (⭐17k) - Python 3.5+ web server that's written to go fast.
- autobahn (⭐2.4k) - WebSocket and WAMP supporting asyncio and Twisted, for clients and servers.
Message Queues
- aioamqp (⭐268) - AMQP implementation using asyncio.
- crossbar (⭐2k) - Crossbar.io is a networking platform for distributed and microservice applications.
Database Drivers
- aiopg (⭐1.3k) - Library for accessing a PostgreSQL database.
- aiomysql (⭐1.5k) - Library for accessing a MySQL database
- aioodbc (⭐253) - Library for accessing a ODBC databases.
- motor (⭐2.1k) - The async Python driver for MongoDB.
- aiocouchdb (⭐53) - CouchDB client built on top of aiohttp (asyncio).
Networking
- AsyncSSH (⭐1.3k) - Provides an asynchronous client and server implementation of the SSHv2 protocol.
Testing
- asynctest (⭐301) - Enhance the standard unittest package with features for testing. asyncio libraries
- pytest-asyncio (⭐1.1k) - Pytest support for asyncio.
Alternative Loops
- uvloop (⭐9.1k) - Ultra fast implementation of asyncio event loop on top of libuv.
Misc
- aiofiles (⭐2.1k) - File support for asyncio.
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.