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
-
devgrok.com: Create a Private Microservice Using an Application Load Balancer
Article about how to use lambdarest with AWS Application Load Balancer
-
rockset.com: Building a Serverless Microservice Using Rockset and AWS Lambda
Article about how to set up lambdarest in AWS infrastructure
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:
- 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 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
And by the way, we have a Code Of Friendlyhood!
Metadata
Release files for lambdarest 13.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lambdarest-13.0.3.tar.gz | 16.5 kB | Without provenance | Details for lambdarest-13.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lambdarest-13.0.3-py3-none-any.whl | Python 3 | none | any | Details for lambdarest-13.0.3-py3-none-any.whl |
Total release size: 26.6 kB
Release files / lambdarest-13.0.3.tar.gz
| Download URL | lambdarest-13.0.3.tar.gz |
|---|---|
| Size | 16.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e177130d49ead512dd2f5ee14e8fb5d4c266cc9dc548b9b23a14deb6fa95cf5e
|
|
BLAKE2b-256 checksum How to use checksums |
97987faadc7212790adfe4f59f0c31a28f48c804114c884db0d694ce2e3d2d01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / lambdarest-13.0.3-py3-none-any.whl
| Download URL | lambdarest-13.0.3-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ed65e3530af289165def7e1662be1504b20dd4c60f30f5cc1ba1fbeab399a00
|
|
BLAKE2b-256 checksum How to use checksums |
322aedecbf915d056ae0c7c84d8ce3c592b75c18059b4e38d20b70e53e48bef8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Security for lambdarest 13.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.