Skip to main content

A package with flask-like syntax for routing requests from an AWS ALB in Lambda

Project description


LambdaALBRouter is a small package with flask-like syntax for routing requests from an AWS ALB in Lambda. It parses out all relavent information from the triggering event and passes it through to a matching registered route. With exceptions handled and turned into json responses, utilities for quickly exiting and returning json it is very easy to make quick APIs with ALB-fronted Lambdas in AWS.

Currently there is nothing implemented for handling templates or returning HTML, but that will be added in the future. Runtime data is stored in a separate class and not stored in the instance of ALBRouter to allow that instance to be a global variable (and cached between lambda executions) without running into caching issues.


pip install -U LambdaALBRouter


from LambdaALBRouter import router, abort, response

app = router.ALBRouter()

def lambda_handler(event, _context):
    return app.process_lambda_alb_event(event)

def hello():
    return response("Hello world!")

def hello_user(user):
    return response(f"Hello {user}!")

@app.route("/update/<user>", route_methods=["POST"])
def update_user(user, context):
    input_data =
    query_string = context.query_string
    request_headers = context.request_headers

    if not "something" in input_data.keys():
        abort(400, "Missing required input 'something'")

    # Update user in a database...

    return response(
            "message": f"Updated {user}!",
            "context": context.__dict__

Project details

Download files

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

Files for LambdaALBRouter, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size LambdaALBRouter-0.2-py3-none-any.whl (8.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size LambdaALBRouter-0.2.tar.gz (7.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page