Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-asgi
A curated list of awesome ASGI servers, frameworks, apps, libraries, and other resources
https://github.com/florimondmanca/awesome-asgi
- 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.
- 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.
- Guillotina - Full-featured ASGI-compatible REST application framework, designed for high performance and horizontally scaling solutions.
- Litestar - A [high-performance](https://docs.litestar.dev/latest/benchmarks.html) ASGI framework, which offers [msgspec-based](https://github.com/jcrist/msgspec) 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](https://www.python-httpx.org/).
- 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.
- Tonberry - Tonberry is an ASGI framework that takes a class based approach to routing. Influenced by CherryPy but made compatible with asyncio and WebSockets.
- 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.)
- 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.
- Ariadne - A schema first Python library for implementing GraphQL servers.
- Strawberry - A code first Python library for implementing GraphQL servers, inspired by dataclasses.
- tartiflette-asgi - ASGI support for the Tartiflette GraphQL engine.
- asgi-correlation-id - Request/Correlation ID logging middleware
- 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.
- asgi-proxy-lib - An ASGI function for proxying to a backend over HTTP.
- asgiproxy
- 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).
- python-socketio - WebSocket clients and servers using Socket.IO. Includes an ASGI application wrapper.
- Introduction to ASGI: Emergence of an Async Python Web Ecosystem - Florimond Manca.
- ASGI 3.0
- Embracing ASGI with Quart; Introducing Hypercorn
- Hello ASGI
- 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.
- Inside your Web framework: Intro to the ASGI spec, middleware and apps
- An introduction to ASGI, Asynchronous Server Gateway Interface
- Sketching out A Django redesign
- Quart; an ASGI alternative to Flask
- Taking Django Async
- Future Pythonic Web: ASGI & Daphne
- 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.
- Quick and dirty mock service with Starlette
- Working with ASGI and HTTP
- Writing an ASGI web framework
- 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.)
- HTTPSRedirectMiddleware - Redirect HTTP/WS traffic to HTTPS/WSS. (Shipped with Starlette.)
- RateLimitingMiddleware - Protect sensitive endpoints from brute force attacks. (Shipped with Piccolo API.)
- TrustedHostMiddleware - Guard against host header attacks by validating the `Host` header of requests. (Shipped with Starlette.)
- brotli-asgi - Response content compression using Brotli.
- GZipMiddleware - Response content compression using GZip. (Shipped with Starlette.)
- msgpack-asgi - Drop-in MessagePack support for ASGI apps and frameworks.
- Mangum - AWS Lambda & API Gateway support for ASGI.
- Daphne - An HTTP, HTTP2 and WebSocket protocol server for ASGI, developed to power Django Channels.
- 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.
- NGINX Unit - A universal web app server that supports ASGI.
- Uvicorn - A fast ASGI server based on uvloop and httptools. Supports HTTP/1 and WebSockets.
- 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.
Programming Languages
Keywords
asgi
15
python
10
asyncio
5
starlette
4
asgi-middleware
3
async
3
framework
3
web
3
http
3
api
2
fastapi
2
json
2
websocket
2
graphql
2
micro-framework
1
cherrypy
1
uvicorn
1
swagger-ui
1
swagger
1
http-server
1
rest
1
redoc
1
python3
1
python-types
1
pydantic
1
openapi3
1
openapi
1
json-schema
1
blacksheep
1
server
1
testing
1
quart
1
guillotina
1
msgpack
1
middleware
1
messagepack
1
asgi-ratelimit
1
csrf
1
proxy
1
httpx
1
tracing
1
sentry
1
request-id
1
logging
1
correlation-id
1
celery
1
graphql-server
1
graphql-python
1
django-graphql
1
django
1