.. _aiohttp-3rd-party: Third-Party libraries ===================== aiohttp is not the library for making HTTP requests and creating WEB server only. It is the grand basement for libraries built *on top* of aiohttp. This page is a list of these tools. Please feel free to add your open sourced library if it's not enlisted yet by making Pull Request to https://github.com/aio-libs/aiohttp/ * Why do you might want to include your awesome library into the list? * Just because the list increases your library visibility. People will have an easy way to find it. Officially supported -------------------- This list contains libraries which are supported by *aio-libs* team and located on https://github.com/aio-libs aiohttp extensions ^^^^^^^^^^^^^^^^^^ - `aiohttp-session `_ provides sessions for :mod:`aiohttp.web`. - `aiohttp-debugtoolbar `_ is a library for *debug toolbar* support for :mod:`aiohttp.web`. - `aiohttp-security `_ auth and permissions for :mod:`aiohttp.web`. - `aiohttp-devtools `_ provides development tools for :mod:`aiohttp.web` applications. - `aiohttp-cors `_ CORS support for aiohttp. - `aiohttp-sse `_ Server-sent events support for aiohttp. - `pytest-aiohttp `_ pytest plugin for aiohttp support. - `aiohttp-mako `_ Mako template renderer for aiohttp.web. - `aiohttp-jinja2 `_ Jinja2 template renderer for aiohttp.web. - `aiozipkin `_ distributed tracing instrumentation for `aiohttp` client and server. Database drivers ^^^^^^^^^^^^^^^^ - `aiopg `_ PostgreSQL async driver. - `aiomysql `_ MySql async driver. - `aioredis `_ Redis async driver. Other tools ^^^^^^^^^^^ - `aiodocker `_ Python Docker API client based on asyncio and aiohttp. - `aiobotocore `_ asyncio support for botocore library using aiohttp. Approved third-party libraries ------------------------------ The libraries are not part of ``aio-libs`` but they are proven to be very well written and highly recommended for usage. - `uvloop `_ Ultra fast implementation of asyncio event loop on top of ``libuv``. We are highly recommending to use it instead of standard ``asyncio``. Database drivers ^^^^^^^^^^^^^^^^ - `asyncpg `_ Another PostgreSQL async driver. It's much faster than ``aiopg`` but it is not drop-in replacement -- the API is different. Anyway please take a look on it -- the driver is really incredible fast. Others ------ The list of libraries which are exists but not enlisted in former categories. They may be perfect or not -- we don't know. Please add your library reference here first and after some time period ask to raise the status. - `aiohttp-cache `_ A cache system for aiohttp server. - `aiocache `_ Caching for asyncio with multiple backends (framework agnostic) - `gain `_ Web crawling framework based on asyncio for everyone. - `aiohttp-swagger `_ Swagger API Documentation builder for aiohttp server. - `aiohttp-swaggerify `_ Library to automatically generate swagger2.0 definition for aiohttp endpoints. - `aiohttp-validate `_ Simple library that helps you validate your API endpoints requests/responses with json schema. - `aiohttp-pydantic `_ An ``aiohttp.View`` to validate the HTTP request's body, query-string, and headers regarding function annotations and generate Open API doc. Python 3.8+ required. - `raven-aiohttp `_ An aiohttp transport for raven-python (Sentry client). - `webargs `_ A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp. - `aioauth-client `_ OAuth client for aiohttp. - `aiohttpretty `_ A simple asyncio compatible httpretty mock using aiohttp. - `aioresponses `_ a helper for mock/fake web requests in python aiohttp package. - `aiohttp-transmute `_ A transmute implementation for aiohttp. - `aiohttp_apiset `_ Package to build routes using swagger specification. - `aiohttp-login `_ Registration and authorization (including social) for aiohttp applications. - `aiohttp_utils `_ Handy utilities for building aiohttp.web applications. - `aiohttpproxy `_ Simple aiohttp HTTP proxy. - `aiohttp_traversal `_ Traversal based router for aiohttp.web. - `aiohttp_autoreload `_ Makes aiohttp server auto-reload on source code change. - `gidgethub `_ An async GitHub API library for Python. - `aiohttp_jrpc `_ aiohttp JSON-RPC service. - `fbemissary `_ A bot framework for the Facebook Messenger platform, built on asyncio and aiohttp. - `aioslacker `_ slacker wrapper for asyncio. - `aioreloader `_ Port of tornado reloader to asyncio. - `aiohttp_babel `_ Babel localization support for aiohttp. - `python-mocket `_ a socket mock framework - for all kinds of socket animals, web-clients included. - `aioraft `_ asyncio RAFT algorithm based on aiohttp. - `home-assistant `_ Open-source home automation platform running on Python 3. - `discord.py `_ Discord client library. - `aiogram `_ A fully asynchronous library for Telegram Bot API written with asyncio and aiohttp. - `vk.py `_ Extremely-fast Python 3.6+ toolkit for create applications work`s with VKAPI. - `aiohttp-graphql `_ GraphQL and GraphIQL interface for aiohttp. - `aiohttp-sentry `_ An aiohttp middleware for reporting errors to Sentry. Python 3.5+ is required. - `aiohttp-datadog `_ An aiohttp middleware for reporting metrics to DataDog. Python 3.5+ is required. - `async-v20 `_ Asynchronous FOREX client for OANDA's v20 API. Python 3.6+ - `aiohttp-jwt `_ An aiohttp middleware for JWT(JSON Web Token) support. Python 3.5+ is required. - `AWS Xray Python SDK `_ Native tracing support for Aiohttp applications. - `GINO `_ An asyncio ORM on top of SQLAlchemy core, delivered with an aiohttp extension. - `aiohttp-apispec `_ Build and document REST APIs with ``aiohttp`` and ``apispec``. - `eider-py `_ Python implementation of the `Eider RPC protocol `_. - `asynapplicationinsights `_ A client for `Azure Application Insights `_ implemented using ``aiohttp`` client, including a middleware for ``aiohttp`` servers to collect web apps telemetry. - `aiogmaps `_ Asynchronous client for Google Maps API Web Services. Python 3.6+ required. - `DBGR `_ Terminal based tool to test and debug HTTP APIs with ``aiohttp``. - `rororo `_ Implement ``aiohtp.web`` OpenAPI 3 server applications with schema first approach. Python 3.6+ required. - `aiohttp-middlewares `_ Collection of useful middlewares for ``aiohttp.web`` applications. Python 3.6+ required. - `aiohttp-tus `_ `tus.io `_ protocol implementation for ``aiohttp.web`` applications. Python 3.6+ required. - `aiohttp-sse-client `_ A Server-Sent Event python client base on aiohttp. Python 3.6+ required.