Flask like web framework for AWS Lambda
lambdarest 
Python routing mini-framework for AWS Lambda with optional JSON-schema validation.
Features
lambda_handlerfunction 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
External articles / tutorials
Article about how to use lambdarest with AWS Application Load Balancer Article about how to set up lambdarest in AWS infrastructureOther 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 myownget(event): return {"this": "will be json dumped"}
TEST #####
input_event = { "body": '{}', "httpMethod": "GET", "resource": "/" } result = lambdahandler(event=inputevent) assert result == {"body": '{"this": "will be json dumped"}', "statusCode": 200, "headers":{}}
Documentation
See docs for documentation and examples covering amongst:
- Advanced usage example
- Query params
- Headers and MultiValueHeaders
- Routing
- Authorization Scopes
- Exception Handling
- AWS Application Load Balancer
- CORS
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 lambdahandler 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
And by the way, we have a Code Of Friendlyhood!
FAQ
- Where is all the old versions?
- What can i do to get the attention of the maintainer? see more here: https://github.com/sloev/python-lambdarest#merchandise
