Skip to main content

AWS Lambda & API Gateway support for ASGI

Project description

Mangum

Package version Build Status

Mangum is an adapter for using ASGI applications with AWS Lambda & API Gateway.

Documentation: https://erm.github.io/mangum

Requirements

Python 3.6+

Installation

pip3 install mangum

Usage

The adapter class Mangum accepts the following optional arguments:

  • enable_lifespan : bool (default=True)

    Specify whether or not to enable lifespan support.

  • api_gateway_base_path : str (default=None)

    Base path to strip from URL when using a custom domain name.

Event and context

The AWS Lambda handler has event and context parameters. These are available in the ASGI scope object:

scope['aws.event']
scope['aws.context']

Example

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, enable_lifespan=False) # disable lifespan for raw ASGI example

WebSockets (experimental)

The adapter currently provides some basic WebSocket support using boto3 with DynamoDB. To install Mangum with the optional dependency:

pip3 install mangum[full]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mangum-0.7.4.tar.gz (8.5 kB view details)

Uploaded Source

File details

Details for the file mangum-0.7.4.tar.gz.

File metadata

  • Download URL: mangum-0.7.4.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.1

File hashes

Hashes for mangum-0.7.4.tar.gz
Algorithm Hash digest
SHA256 75ebbfd69f795c45b0c5dafe56f92c48c4245fb2b7c51fb75835e04548724c82
MD5 45c416487d17e959118c4581eef4037a
BLAKE2b-256 84810405a4b213a606eb3274637ee35e57c0f76ccc2056a600deb6915ced9a9d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page