Metadata-Version: 2.1
Name: acai-aws
Version: 2.0.0b11
Summary: DRY, configurable, opinionated, minimalist framework for use with AWS Serverless Lambdas
Home-page: https://github.com/syngenta/acai-python.git
Author: Paul Cruse III
Author-email: paulcruse3@gmail.com
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: boto3
Requires-Dist: dynamodb-json
Requires-Dist: jsonpickle
Requires-Dist: jsonref
Requires-Dist: jsonschema
Requires-Dist: icecream
Requires-Dist: pyyaml
Requires-Dist: simplejson
Requires-Dist: xmltodict

# Acai AWS
DRY, configurable, declarative node library for working with Amazon Web Service Lambdas.

## Features
* Highly configurable apigateway internal router
* Openapi schema adherence for all event types
* Extensible and customizable middleware for validation and other tasks
* DRY coding interfaces without the need of boilerplate
* Ease-of-use with the [serverless framework](https://www.serverless.com/)
* Local Development support
* Happy Path Programming (See Philosophy below)

## Philosophy

The Acai philosophy is to provide a dry, configurable, declarative library for use with the amazon lambdas, which encourages Happy Path Programming (HPP).

Happy Path Programming is an idea in which inputs are all validated before operated on. This ensures code follows the happy path without the need for mid-level, nested exceptions and all the nasty exception handling that comes with that. The library uses layers of customizable middleware options to allow a developer to easily dictate what constitutes a valid input, without nested conditionals, try/catch blocks or other coding blocks which distract from the happy path that covers the majority of that codes intended operation.

## Installation

This is a [python](https://www.python.org/) module available through the
[pypi registry](https://pypi.org).

Before installing, [download and install python](https://www.python.org/downloads/).
python 3 or higher is required.


Installation is done using the
[`pip install`](https://packaging.python.org/tutorials/installing-packages/) command:

```bash
$ pip install acai_aws
# pipenv install acai_aws
# poetry add acai_aws
```
## Documentation & Examples

* [Full Docs](https://syngenta.github.io/acai-python-docs/)
* [Tutorial](https://syngenta.github.io/acai-python-docs/)
* [Examples](https://github.com/syngenta/acai-python-docs/blob/main/examples/)


## Contributing

If you would like to contribute please make sure to follow the established patterns and unit test your code:

### Unit Testing

To run unit test, enter command:
```bash
$ pipenv install
$ pipenv run test
```
