Metadata-Version: 2.1
Name: py_jugaad_aws
Version: 0.0.4
Summary: Python libraries to ease development of APIs and event driven apps for AWS serverless architecture
Author-email: Aditya Aluru <aditya.aluru@gmail.com>
License: MIT License
        
        Copyright (c) 2023 Aditya Aluru
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/adityaaluru/py-jugaad-aws
Keywords: jugaad,serverless,aws,event driven,apis,scaffolding
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: boto3
Requires-Dist: requests

# py-jugaad-aws

The Jugaad libraries are designed to be minimalist but effective in providing essential frameworks to help build multi-tenant SaaS platforms.

The python libraries in this package ease development of APIs and event driven apps for AWS serverless architecture and is primarily tested with AWS Chalice framework.

## Usage Guide

### Logging

```
from jugaad_aws import log
logger = log.STLogger.getLogger(__name__)
logger.info("useful logs...")
```
The logger instance created above is same as the logger instance available from the package `logging`

### App Configuration

```
from jugaad_aws import config
testvalue = config.getStaticConfig("testKey","DEFAULT_VALUE")
testDynValue = config.getDynamicConfig("testDynKey","DEFAULT_VALUE")
```
The config instance has two main methods:

* `getStaticConfig` - This method looks for the provided configuration key (`testKey` in the example above) in the following sequence:
    * Under the specific path within AWS Parameter Store - `/APP_CONFIG_STATIC/<App Name>/`. The app name is read from a `config.ini` file present under the app root folder.
    * Environment variable
    * A `config.ini` under the root folder of the app.
An optional `DEFAULT_VALUE` can be provided to the method to return the default if the configuration is not found in any of the mentioned locations.

* `getDynamicConfig` - This method looks for the provided configuration key (`testDynKey` in the example above) from the AWS Parameter Store - `/APP_CONFIG_DYNAMIC/<App Name>`. The app name is read from a `config.ini` file present under the app root folder.

### HTTP Client

### Middleware
