Skip to content
70

awesome-asgi

A curated list of awesome ASGI servers, frameworks, apps, libraries, and other resources

1.8k stars111 forks72 entriesLast push May 2, 2026 (5 months ago)License CC0-1.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Application frameworks

Asgineer

A really thin ASGI web framework, which includes support for long polling, SSE and websockets.

BlackSheep

BlackSheep is an asynchronous web framework to build event based web applications with Python. It is inspired by Flask, ASP.NET Core, and the work by Yury Selivanov.

Channels

Asynchronous support for Django, and the original driving force behind the ASGI project. Supports HTTP and WebSockets with Django integration, and any protocol with ASGI-native code.

Django

The web framework for perfectionists with deadlines. Has native ASGI support since version 3.0.

Falcon

The minimalist REST and app backend framework for Python, with a focus on reliability, correctness, and performance at scale. Native ASGI support since version 3.0.

In 3 lists

FastAPI

A modern, high-performance web framework for building APIs with Python 3.6+ based on standard Python type hints. Powered by Starlette and Pydantic. Supports HTTP and WebSockets.

In 5 listsDetails

FastHTML

Modern web applications in pure Python. Built on solid web foundations, not the latest fads. Powerful and expressive, fast and lightweight, compact code, easy to learn and use.

Guillotina

Full-featured ASGI-compatible REST application framework, designed for high performance and horizontally scaling solutions.

Litestar

A high-performance ASGI framework, which offers msgspec-based message parsing, Depdency-Injection, Authentication, OpenAPI docs, and more. Supports HTTP and Websockets. Supports asyncio and trio.

Pyotr

A server framework, as well as a client library, for serving and consuming OpenAPI-based Web services. Based on Starlette and HTTPX.

Quart

A Python ASGI web microframework whose API is a superset of the Flask API. Supports HTTP (incl. SSE and HTTP/2 server push) and WebSockets.

Responder

A familiar HTTP Service Framework for Python, powered by Starlette.

Sanic

Sanic is a Python 3.6+ web server and web framework that's written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy. Supports HTTP and WebSockets.

Starlette

The little ASGI framework that shines. Starlette is also an ASGI toolkit -- its modular design and reusable components made it foundational in the ASGI ecosystem. Supports HTTP and WebSockets. Supports asyncio and trio.

In 2 lists

Tonberry

Tonberry is an ASGI framework that takes a class based approach to routing. Influenced by CherryPy but made compatible with asyncio and WebSockets.

Tremolo

Zero dependency ASGI server and web framework for Python. Request and response limits, bandwidth throttling, resumable downloads, multipart form uploads / streaming downloads, worker reloading. Only 2,500 lines with a focus on minimalism and stability.

Authentication

asgi-auth-github

GitHub OAuth authentication for ASGI apps. Supports restricting to specific users or member of specific teams or organizations.

SessionAuth

Authenticate using sessions and cookies. (Shipped with Piccolo API, and requires Piccolo ORM.)

TokenAuth

Authenticate using tokens in request headers. (Shipped with Piccolo API, and requires Piccolo ORM.)

End-user applications

ASGIWebDAV

An asynchronous WebDAV server implementation. Support multi-provider, multi-account and permission control.

Datasette

A tool for exploring and publishing data, including ASGI-compatible components and plugins.

In 4 lists

GraphQL

Ariadne

A schema first Python library for implementing GraphQL servers.

In 2 lists

Strawberry

A code first Python library for implementing GraphQL servers, inspired by dataclasses.

tartiflette-asgi

ASGI support for the Tartiflette GraphQL engine.

Monitoring

Apitally

Simple, privacy-focused API monitoring, analytics and request logging for popular ASGI frameworks (including FastAPI, Django, Starlette, Litestar).

In 4 listsDetails

asgi-correlation-id

Request/Correlation ID logging middleware

In 2 lists

New Relic ASGI

New Relic integration for ASGI applications. (Shipped with newrelic.)

opentelemetry-python

ASGI middleware and helpers for collecting application metrics via the (currently alpha) OpenTelemetry standard. Supports HTTP and WebSocket.

Scout APM Starlette

Scout APM integration with Starlette and Starlette-based frameworks. (Shipped with scout-apm.)

Sentry ASGI

Sentry integration for ASGI frameworks. (Shipped with sentry-sdk.)

timing-asgi

ASGI middleware to record and emit timing metrics.

Proxies

asgi-proxy-lib

An ASGI function for proxying to a backend over HTTP.

asgiproxy

Tools for building HTTP and Websocket proxies for ASGI.

ProxyHeadersMiddleware

Use X-Forwarded-Proto and X-Forwarded-For headers set by a known and trusted proxy to make client and scheme reference the connecting client (shipped with Uvicorn).

In 2 lists

Real-time web

python-socketio

WebSocket clients and servers using Socket.IO. Includes an ASGI application wrapper.

Utilities

asgi-htmx

HTMX integration for ASGI applications.

Resources >Publications

Introduction to ASGI: Emergence of an Async Python Web Ecosystem

Florimond Manca.

ASGI 3.0

, Andrew Godwin.

Embracing ASGI with Quart; Introducing Hypercorn

, Philip Jones.

Resources >Reference

ASGI Documentation

Documentation site for the ASGI specification.

asgiref

ASGI reference implementation, including function wrappers, server base classes, type hints, and a WSGI-to-ASGI adapter.

In 3 lists

Resources >Talks

Inside your Web framework: Intro to the ASGI spec, middleware and apps

, Adrian Garcia Badaracco, PyConUS 2023.

An introduction to ASGI, Asynchronous Server Gateway Interface

, P G Jones, PyLondinium 2019.

Sketching out A Django redesign

, Tom Christie, DjangoCon Europe.

Quart; an ASGI alternative to Flask

, P G Jones, EuroPython 2018.

Taking Django Async

, Andrew Godwin, PyCon.

Future Pythonic Web: ASGI & Daphne

, Dmitry Nazarov, PiterPy.

Resources >Experiments and examples

asgi-background

Background tasks for any ASGI framework.

asgi-lifespan-middleware

ASGI middlewate to support ASGI lifespans using a simple async context manager interface.

asgi-routing

A high performance router written in Rust for the ASGI ecosystem. Built on top of routrie and path-tree.

nanoasgi

A tiny zero-dependency ASGI web framework.

proxyx

Proof of concept for a lightweight HTTP/1.1 proxy service built with ASGI and HTTPX.

py-frameworks-bench

A benchmark for (mostly-ASGI) Python async frameworks.

Resources >Tutorials

Quick and dirty mock service with Starlette

, Matt Layman.

Working with ASGI and HTTP

, Tom Christie.

Writing an ASGI web framework

, Yoong Kang Lim.

Security

asgi-csrf

ASGI middleware for protecting against CSRF attacks.

asgi-ratelimit

A customizable rate limiting ASGI middleware, with regex path matching support.

CORSMiddleware

Allow cross-origin requests from browsers. (Shipped with Starlette.)

CSPMiddleware

Tell browsers to only run Javascript from the same origin. (Shipped with Piccolo API.)

CSRFMiddleware

Protect against CSRF attacks when using cookies for authentication. (Shipped with Piccolo API.)

RateLimitingMiddleware

Protect sensitive endpoints from brute force attacks. (Shipped with Piccolo API.)

Serialization

brotli-asgi

Response content compression using Brotli.

CORSMiddleware

Allow cross-origin requests from browsers. (Shipped with Starlette.)

msgpack-asgi

Drop-in MessagePack support for ASGI apps and frameworks.

In 2 lists

Serverless

Mangum

AWS Lambda & API Gateway support for ASGI.

Servers

Daphne

An HTTP, HTTP2 and WebSocket protocol server for ASGI, developed to power Django Channels.

Granian

A high performance Rust HTTP server for Python applications supporting ASGI/3 ASGI/3, RSGI and WSGI interfaces. Currenlty implementing HTTP 1 and 2 (eventually 3), HTTPS and websockets.

In 2 lists

Hypercorn

An ASGI server based on the sans-io hyper, h11, h2, and wsproto libraries. Supports HTTP/1, HTTP/2, WebSockets, ASGI 2.0 and ASGI 3.0. Compatible with asyncio, uvloop and trio worker types.

In 2 lists

Uvicorn

A fast ASGI server based on uvloop and httptools. Supports HTTP/1 and WebSockets.

In 2 lists

Testing

asgi-lifespan

Programmatic startup/shutdown of ASGI apps. Allows testing an ASGI app without having to spin up a server.

async-asgi-testclient

A framework-agnostic library for testing ASGI web applications.

HTTPX

Next generation HTTP client, including async support and ability to call ASGI apps directly.

See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

Curated Python frameworks, libraries and resources.

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

Curated Go frameworks and libraries.

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago