0 purchases
awslambdarequestswrapper 0.2.3
AWS Lambda Requests Wrapper
Request/Response wrapper for AWS Lambda with API Gateway.
Install
Install and update using pip.
$ pip install -U aws-lambda-requests-wrapper
Example
Converts the lambda_handler syntax:
import json
def lambda_handler(event, context):
...
response = {"key": "value"}
return {
"statusCode": 200,
"headers": {
"Content-Type": "application/json"
},
"body": json.dumps(response)
}
into this:
import json
from aws_lambda_requests_wrapper.lambda_handler import lambda_request_wrapper
from aws_lambda_requests_wrapper.models import Request
from aws_lambda_requests_wrapper.models import Response
@lambda_request_wrapper()
def lambda_handler(request: Request) -> Response:
...
response = {"key": "value"}
return Response(body=json.dumps(response))
or return a Pydantic model directly:
from pydantic import BaseModel
from aws_lambda_requests_wrapper.lambda_handler import lambda_request_wrapper
from aws_lambda_requests_wrapper.models import Request
class Model(BaseModel):
model_id: int
@lambda_request_wrapper()
def get_pydantic_model(request: Request) -> Model:
return Model(model_id=1)
Contributing
Contributions are welcome via pull requests.
First time setup
$ git clone [email protected]:DeveloperRSquared/aws-lambda-requests-wrapper.git
$ cd aws-lambda-requests-wrapper
$ poetry install
$ source .venv/bin/activate
Tools including black, mypy etc. will run automatically if you install pre-commit using the instructions below
$ pre-commit install
$ pre-commit run --all-files
Running tests
$ poetry run pytest
Links
Source Code: https://github.com/DeveloperRSquared/aws-lambda-requests-wrapper/
PyPI Releases: https://pypi.org/project/aws-lambda-requests-wrapper/
Issue Tracker: https://github.com/DeveloperRSquared/aws-lambda-requests-wrapper/issues/
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.