[!WARNING] This project is looking for a new home. I'm no longer maintaining it. Please let me know if you want to take over maintainance for it. Write me an email to [email protected]
Awesome asyncio 
A carefully curated list of awesome Python asyncio frameworks, libraries, software and resources.
The Python asyncio 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.
Asyncio 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. Thus, it's pretty hard to keep yourself up-to-date with the most awesome packages out there. Find some of those awesome packages here and if you are missing one we count on you to create an Issue or a Pull Request with your suggestion.
Contents
- Web Frameworks
- Message Queues
- Database Drivers
- Networking
- GraphQL
- Testing
- Alternative Loops
- Misc
- Writings
- Talks
- Alternatives to asyncio
Web Frameworks
Libraries to build web applications.
- 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
Libraries to implement applications using message queues.
- aioamqp - AMQP implementation using asyncio.
- pyzmq - Python bindings for ZeroMQ.
- aiozmq - Alternative Asyncio integration with ZeroMQ.
- crossbar - Crossbar.io is a networking platform for distributed and microservice applications.
- asyncio-nats - Client for the NATS messaging system.
- aiokafka - Client for Apache Kafka.
Database Drivers
Libraries to connect to databases.
- 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.
- pymongo - The Official MongoDB Python driver, offering both synchronous and asynchronous APIs.
- redis-py - Redis Python Client (which includes aioreadis 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 peewee and aiopg.
- GINO - is a lightweight asynchronous Python ORM based on SQLAlchemy core, with asyncpg dialect.
- Tortoise ORM - native multi-backend ORM with Django-like API and easy relations management.