Metadata-Version: 2.4 Name: mangum Version: 0.21.0 Summary: AWS Lambda support for ASGI applications Project-URL: Homepage, https://github.com/Kludex/mangum Project-URL: Documentation, https://mangum.fastapiexpert.com Project-URL: Changelog, https://github.com/Kludex/mangum/blob/main/CHANGELOG.md Project-URL: Funding, https://github.com/sponsors/Kludex Project-URL: Source, https://github.com/Kludex/mangum Author-email: Jordan Eremieff , Marcelo Trylesinski License-File: LICENSE Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: 3.14 Classifier: Topic :: Internet :: WWW/HTTP Requires-Python: >=3.9 Requires-Dist: typing-extensions Description-Content-Type: text/markdown # Mangum Package version PyPI - Python Version Mangum is an adapter for running [ASGI](https://asgi.readthedocs.io/en/latest/) applications in AWS Lambda to handle Function URL, API Gateway, ALB, and Lambda@Edge events. ***Documentation***: https://mangum.fastapiexpert.com/ ## Features - Event handlers for API Gateway [HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) and [REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-rest-api.html) APIs, [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html), [Function URLs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html), and [CloudFront Lambda@Edge](https://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html). - Compatibility with ASGI application frameworks, such as [Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [Quart](https://pgjones.gitlab.io/quart/) and [Django](https://www.djangoproject.com/). - 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](https://www.serverless.com/) and [AWS SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html). - Startup and shutdown [lifespan](https://asgi.readthedocs.io/en/latest/specs/lifespan.html) events. ## Installation ```shell pip install mangum ``` ## Example ```python 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: ```python 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") ```