aws-lambda-requests-wrapper 0.2.3

Creator: railscoder56

Last updated:

0 purchases

aws-lambda-requests-wrapper 0.2.3 Image
aws-lambda-requests-wrapper 0.2.3 Images
Add to Cart

Description:

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/

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.