Metadata-Version: 2.1
Name: lambda-handlers
Version: 1.0.1
Summary: A collection of useful decorators for making AWS Lambda handlers
Home-page: http://lambda-handlers.readthedocs.io
Author: Steffen Leistner, Alexandre Savio
Author-email: info@enterat.de
License: Apache
Keywords: serverless lambda decorator aws
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Requires-Python: ==3.7
Provides-Extra: jsonschema
Requires-Dist: jsonschema ; extra == 'jsonschema'
Provides-Extra: marshmallow
Requires-Dist: marshmallow ; extra == 'marshmallow'

# lambda-handlers

[![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.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))


