A collection of useful decorators for making AWS Lambda handlers
Project description
# lambda-handlers
[![Version](https://img.shields.io/pypi/v/lambda-handlers.svg)](https://img.shields.io/pypi/dd/lambda-handlers.svg) [![Build Status](https://travis-ci.org/enter-at/lambda-handlers.svg?branch=master)](https://travis-ci.org/enter-at/lambda-handlers) [![Maintainability](https://api.codeclimate.com/v1/badges/a39e55b85bfcc31204b9/maintainability)](https://codeclimate.com/github/enter-at/lambda-handlers/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a39e55b85bfcc31204b9/test_coverage)](https://codeclimate.com/github/enter-at/lambda-handlers/test_coverage) [![Requirements Status](https://requires.io/github/enter-at/lambda-handlers/requirements.svg?branch=master)](https://requires.io/github/enter-at/lambda-handlers/requirements/?branch=master) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic–release-e10079.svg)](https://github.com/semantic-release/semantic-release)
An opinionated Python package that facilitates specifying AWS Lambda handlers including input validation, error handling and response formatting.
## Dependencies
This project uses [pipenv](https://pipenv.readthedocs.io) to manage its dependencies and Python environment. You can install it by:
`bash pip install --user pipenv `
We recommend using a Python virtual environment for each separate project you do. For that, we suggest using [pyenv](https://github.com/pyenv/pyenv-installer).
## Installation
For production, after you clone this repository, you can install this project plus dependencies with:
`bash cd <clone_dest> make install `
## Development
For development you should also install the development dependencies, so run instead:
`bash cd <clone_dest> make install-dev `
This will install all dependencies and this project in development mode.
### Testing
We use [tox](https://tox.readthedocs.io/en/latest/) to run the code checkers. Run it with:
`bash tox `
You can also run the tasks separately with make:
`bash make test `
will run the unit tests,
`bash make lint `
will run a linter,
`bash make mypy `
will run the static type checker, and
`bash make isort-check `
will run the import order checker.
## [1.0.2](https://github.com/enter-at/lambda-handlers/compare/v1.0.1…v1.0.2) (2019-07-02)
### Bug Fixes
packaging: add missing pypi configuration ([029524a](https://github.com/enter-at/lambda-handlers/commit/029524a))
## [1.0.1](https://github.com/enter-at/lambda-handlers/compare/v1.0.0…v1.0.1) (2019-07-02)
### Bug Fixes
makefile: remove tag target ([aefe5a6](https://github.com/enter-at/lambda-handlers/commit/aefe5a6))
# 1.0.0 (2019-07-01)
### Bug Fixes
handle import errors gracefully ([eea9f6f](https://github.com/enter-at/lambda-handlers/commit/eea9f6f))
formatters: add FormattingError exception ([8a94c66](https://github.com/enter-at/lambda-handlers/commit/8a94c66))
MarshmallowValidator: handler empty error messages ([0bf03b0](https://github.com/enter-at/lambda-handlers/commit/0bf03b0))
version: set the version used for pre-release ([3873a5f](https://github.com/enter-at/lambda-handlers/commit/3873a5f))
### Features
validator: add request and response validation ([0e0af4e](https://github.com/enter-at/lambda-handlers/commit/0e0af4e))
validator: add request and response validation ([0029a97](https://github.com/enter-at/lambda-handlers/commit/0029a97))
validator: extract validator abstraction ([bfc697e](https://github.com/enter-at/lambda-handlers/commit/bfc697e))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lambda_handlers-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3863ef26d4ba52122635020e66607ef1667eecf45c01cf20d335c5883fea0a35 |
|
MD5 | 738032ec461d8e5e79e29cbf38a56e51 |
|
BLAKE2b-256 | 5165878bd616cd531c59be8d928ed9d28da31105872b1b115eec3d589b6d66c5 |