Skip to main content

flask like web framework for AWS Lambda

Project description

test Latest Version Python Support

lambdarest Buy Me A Coffee

Python routing mini-framework for AWS Lambda with optional JSON-schema validation.

Features

  • lambda_handler function constructor with built-in dispatcher
  • Decorator to register functions to handle HTTP methods
  • Optional JSON-schema input validation using same decorator

Merchandise ❤️

You can support the development by buying a wonderful cup or buy coffee for the maintainers cup

lambdarest mug

External articles / tutorials

Other articles? add them here

Installation

Install the package from PyPI using pip:

$ pip install lambdarest

Getting Started

This module helps you to handle different HTTP methods in your AWS Lambda.

from lambdarest import lambda_handler

@lambda_handler.handle("get")
def my_own_get(event):
    return {"this": "will be json dumped"}

##### TEST #####

input_event = {
    "body": '{}',
    "httpMethod": "GET",
    "resource": "/"
}
result = lambda_handler(event=input_event)
assert result == {"body": '{"this": "will be json dumped"}', "statusCode": 200, "headers":{}}

Documentation

See docs for documentation and examples covering amongst:

Anormal unittest behaviour with lambda_handler singleton

Because of python unittests leaky test-cases it seems like you shall beware of this issue when using the singleton lambda_handler in a multiple test-case scenario.

Tests

Use the following commands to install requirements and run test-suite:

$ pip install -e ".[dev]"
$ black tests/ lambdarest/
$ rm -f test_readme.py
$ pytest --doctest-modules -vvv

For more info see Contributing...

Changelog

See HISTORY.md

Contributors

Thanks for contributing!

@sphaugh, @amacks, @jacksgt, @mkreg, @aphexer, @nabrosimoff, @elviejokike, @eduardomourar, @devgrok, @AlbertoTrindade, @paddie, @svdgraaf, @simongarnier, @martinbuberl, @adamelmore, @sloev

Wanna contribute?

And by the way, we have a Code Of Friendlyhood!

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

lambdarest-13.0.3.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

lambdarest-13.0.3-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file lambdarest-13.0.3.tar.gz.

File metadata

  • Download URL: lambdarest-13.0.3.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for lambdarest-13.0.3.tar.gz
Algorithm Hash digest
SHA256 e177130d49ead512dd2f5ee14e8fb5d4c266cc9dc548b9b23a14deb6fa95cf5e
MD5 06d5f9acd75e18447abca67cd798214d
BLAKE2b-256 97987faadc7212790adfe4f59f0c31a28f48c804114c884db0d694ce2e3d2d01

See more details on using hashes here.

File details

Details for the file lambdarest-13.0.3-py3-none-any.whl.

File metadata

  • Download URL: lambdarest-13.0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for lambdarest-13.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5ed65e3530af289165def7e1662be1504b20dd4c60f30f5cc1ba1fbeab399a00
MD5 dc79ae3efd5c6dee5ef60909f0084cad
BLAKE2b-256 322aedecbf915d056ae0c7c84d8ce3c592b75c18059b4e38d20b70e53e48bef8

See more details on using hashes here.

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