Ranked awesome lists, all in one place
This list is a copy of timofurrer/awesome-asyncio with ranks
Awesome asyncio ★87749
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 2016. 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
- Testing
- Alternative Loops
- Misc
- Writings
- Talks
Web Frameworks
Libraries to build web applications.
- aiohttp - Http client/server for asyncio (PEP-3156).
- sanic ★9585 - Python 3.5+ web server that’s written to go fast.
- Quart - An asyncio web microframework with the same API as Flask.
- Kyoukai - Fully async web framework for Python3.5+ using asyncio.
- cirrina ★19 - Opinionated asynchronous web framework based on aiohttp.
- autobahn ★1813 - WebSocket and WAMP supporting asyncio and Twisted, for clients and servers.
- websockets ★1515 - 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.
Message Queues
Libraries to implement applications using message queues.
- aioamqp ★146 - AMQP implementation using asyncio.
- aiozmq ★259 - Asyncio (pep 3156) integration with ZeroMQ.
- crossbar ★1521 - Crossbar.io is a networking platform for distributed and microservice applications.
Database Drivers
Libraries to connect to databases.
- asyncpg ★2684 - Fast PostgreSQL Database Client Library for Python/asyncio.
- asyncpgsa ★214 - Asyncpg with sqlalchemy core support.
- aiopg ★634 - Library for accessing a PostgreSQL database.
- aiomysql ★537 - Library for accessing a MySQL database
- aioodbc ★100 - Library for accessing a ODBC databases.
- motor ★999 - The async Python driver for MongoDB.
- aioredis ★618 - aio-libs Redis client (PEP 3156).
- asyncio-redis ★422 - Redis client for Python asyncio (PEP 3156).
- aiocouchdb ★42 - CouchDB client built on top of aiohttp (asyncio).
- aioinflux ★37 - InfluxDB client built on top of aiohttp.
- aioes - Asyncio compatible driver for elasticsearch.
- peewee-async - ORM implementation based on peewee ★5350 and aiopg.
- GINO - is a lightweight asynchronous Python ORM based on SQLAlchemy core, with asyncpg ★2684 dialect.
Networking
Libraries to communicate in your network.
- AsyncSSH ★686 - Provides an asynchronous client and server implementation of the SSHv2 protocol.
Testing
Libraries to test asyncio based applications.
- aiomock ★14 ⏳1Y - A python mock library that supports async methods.
- asynctest ★132 - Enhance the standard unittest package with features for testing. asyncio libraries
- pytest-asyncio ★255 - Pytest support for asyncio.
Alternative Loops
Alternative asyncio loop implementations.
- uvloop ★4826 - Ultra fast implementation of asyncio event loop on top of libuv.
- curio ★2520 - The coroutine concurrency library.
Misc
Other awesome asyncio libraries.
- aiofiles ★503 - File support for asyncio.
- aiodebug ★14 ⏳1Y - A tiny library for monitoring and testing asyncio programs.
- aiorun ★27 - A
run()
function that handles all the usual boilerplate for startup and graceful shutdown. - aiozipkin ★77 - Distributed tracing instrumentation for asyncio with zipkin
Writings
Documentation, blog posts, and other awesome writing about asyncio.
- Official asyncio documentation - Asynchronous I/O, event loop, coroutines and tasks.
- Short well-written intro to asyncio - Generators, Coroutines, Native Coroutines and async/await.
- Async Through the looking Glass - Nice writing about it’s worth using asyncio or not for specific use-cases.
- Asynchronous Python - Introduction into asynchronous programming with Python.
- 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.
Talks
People has given awesome talks about asyncio.
- Topics of Interest (Python Asyncio) - Keynote by David Beazley.
-
Python Asynchronous I/O Walkthrough - 8-part code walkthrough by Philip Guo
This list is a copy of timofurrer/awesome-asyncio with ranks