An open API service indexing awesome lists of open source software.

awesome-asyncio

A curated list of awesome Python asyncio frameworks, libraries, software and resources
https://github.com/timofurrer/awesome-asyncio

Last synced: 21 days ago
JSON representation

Alternative Loops

  • uvloop - Ultra fast implementation of asyncio event loop on top of libuv.

Alternatives to asyncio

  • Curio-Asyncio Bridge - basic curio -> asyncio coroutine bridge.
  • curio - The coroutine concurrency library.
  • trio - Pythonic async I/O for humans and snake people.
  • trio-asyncio - re-implementation of the asyncio mainloop on top of Trio.
  • AnyIO - High level asynchronous concurrency and networking framework that works on top of either trio or asyncio.

Database Drivers

  • asyncpg - Fast PostgreSQL Database Client Library for Python/asyncio.
  • asyncpgsa - Asyncpg with sqlalchemy core support.
  • aiomysql - Library for accessing a MySQL database
  • aioodbc - Library for accessing a ODBC databases.
  • redis-py - Redis Python Client (which includes aioreadis now).
  • aiocouchdb - CouchDB client built on top of aiohttp (asyncio).
  • peewee-async - ORM implementation based on peewee and aiopg.
  • 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.
  • GINO - is a lightweight asynchronous Python ORM based on SQLAlchemy core, with asyncpg dialect.
  • pymongo - The Official MongoDB Python driver, offering both synchronous and asynchronous APIs.
  • aiopg - Library for accessing a PostgreSQL database.
  • aioinflux - InfluxDB client built on top of aiohttp.
  • aioes - Asyncio compatible driver for elasticsearch.
  • Beanie - An async MongoDB ODM built on pymongo and Pydantic.

GraphQL

  • Tartiflette - Schema-first Python 3.6+ GraphQL engine built on top of libgraphqlparser.
  • Strawberry - Code-first Python 3 GraphQL server with Django, Flask and FastAPI/Starlette support.
  • Ariadne - Schema-first Python library for implementing GraphQL servers.

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.
  • aiokafka - Client for Apache Kafka.

Misc

  • taskiq - Asynchronous distributed task manager (like celery, but async).
  • aiochan - CSP-style concurrency with channels, select and multiprocessing on top of asyncio.
  • aiopath - Asynchronous pathlib for asyncio.
  • aiodebug - A tiny library for monitoring and testing asyncio programs.
  • aiorun - A run() function that handles all the usual boilerplate for startup and graceful shutdown.
  • aiosc - Lightweight Open Sound Control implementation.
  • 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 asyncio.
  • aiofiles - File support for asyncio.

Networking

  • AsyncSSH - Provides an asynchronous client and server implementation of the SSHv2 protocol.
  • aioping - Fast asyncio implementation of ICMP (ping) protocol.
  • httpx - asynchronous HTTP client for Python 3 with requests compatible API.
  • aiodns - Simple DNS resolver for asyncio.

Talks

Testing

  • pytest-asyncio - Pytest support for asyncio.
  • aioresponses - Helper for mock/fake web requests in Python aiohttp package.
  • aiomock - A python mock library that supports async methods.
  • asynctest - Enhance the standard unittest package with features for testing. asyncio libraries

Web Frameworks

  • 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.
  • Quart - An asyncio web microframework with the same API as Flask.
  • autobahn - WebSocket and WAMP supporting asyncio and Twisted, for clients and servers.
  • uvicorn - The lightning-fast ASGI server.
  • FastAPI - A very high performance Python 3.6+ API framework based on type hints. Powered by Starlette and Pydantic.
  • sanic - Python 3.5+ web server that's written to go fast.
  • aiohttp - Http client/server for asyncio (PEP-3156).
  • websockets - A library for building WebSocket servers and clients in Python with a focus on correctness and simplicity.

Writings