AWS Lambda support for ASGI applications
See the codeMangum is an adapter for running ASGI applications in AWS Lambda to handle Function URL, API Gateway, ALB, and Lambda@Edge events.
Documentation: https://mangum.fastapiexpert.com/
Event handlers for API Gateway HTTP and REST APIs, Application Load Balancer, Function URLs, and CloudFront Lambda@Edge.
Compatibility with ASGI application frameworks, such as Starlette, FastAPI, Quart and Django.
Support for binary media types and payload compression in API Gateway using GZip or Brotli.
Works with existing deployment and configuration tools, including Serverless Framework and AWS SAM.
Startup and shutdown lifespan events.
pip install mangum
from mangum import Mangum
async def app(scope, receive, send):
await send(
{
"type": "http.response.start",
"status": 200,
"headers": [[b"content-type", b"text/plain; charset=utf-8"]],
}
)
await send({"type": "http.response.body", "body": b"Hello, world!"})
handler = Mangum(app, lifespan="off")
Or using a framework:
from fastapi import FastAPI
from mangum import Mangum
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
handler = Mangum(app, lifespan="off")
32,342 followers · starred Jan 2019
12,947 followers · starred May 2023
166 followers · starred Feb 2026
398 followers · starred Feb 2022
AWS Lambda support for ASGI applications
See the codeMangum is an adapter for running ASGI applications in AWS Lambda to handle Function URL, API Gateway, ALB, and Lambda@Edge events.
Documentation: https://mangum.fastapiexpert.com/
Event handlers for API Gateway HTTP and REST APIs, Application Load Balancer, Function URLs, and CloudFront Lambda@Edge.
Compatibility with ASGI application frameworks, such as Starlette, FastAPI, Quart and Django.
Support for binary media types and payload compression in API Gateway using GZip or Brotli.
Works with existing deployment and configuration tools, including Serverless Framework and AWS SAM.
Startup and shutdown lifespan events.
pip install mangum
from mangum import Mangum
async def app(scope, receive, send):
await send(
{
"type": "http.response.start",
"status": 200,
"headers": [[b"content-type", b"text/plain; charset=utf-8"]],
}
)
await send({"type": "http.response.body", "body": b"Hello, world!"})
handler = Mangum(app, lifespan="off")
Or using a framework:
from fastapi import FastAPI
from mangum import Mangum
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
handler = Mangum(app, lifespan="off")
32,342 followers · starred Jan 2019
12,947 followers · starred May 2023
166 followers · starred Feb 2026
398 followers · starred Feb 2022