Metadata-Version: 2.1
Name: phhelper
Version: 0.7
Summary: Python Handler Helper for Lambda
Home-page: https://github.com/lhgomes/phhelper
Author: Luiz Henrique Gomes
Author-email: lhgnet@gmail.com
License: MIT
Description: ## Python Handler Helper for Lambda
        
        Simplify best practice for Lambda in Python, handling Lambda events and errors with detailed and standarized logs.
        
        ## Features
        
        * Dead simple to use, reduces the complexity of writing a Lambda with Python runtime
        * Guarantees that Source will get a response even if an exception is raised
        * Sends meaningful errors to Cloudwatch in the case of a failure
        * Threading enables best runtime performance for events with multiple records
        * JSON logging that includes request id's, event id's and source to assist in tracing logs relevant to a 
        particular event
         
        ## Installation
        
        Install into the root folder of your lambda function
        
        ```json
        cd my-lambda-function/
        pip install phhelper-lhgomes -t .
        ```
        
        ## Example Usage
        
        ```python
        from phhelper import aws_lambda_helper
        import json
        import time
        
        @aws_lambda_helper.handler
        def lambda_handler(event, context):
            context.logging.info('info_test')
            time.sleep(0.5)
            context.logging.error('error_test')
            time.sleep(0.5)
            context.logging.debug('debug_test')
            
            return {
                'statusCode': 200,
                'body': json.dumps('Hello from Lambda!')
            }
        ```
        
        ### Threading
        
        If the event source send multiple records to be processed, you can enable Multithreading processing, by creating a 
        Environment variable called `THREADING_ENABLED` with value `TRUE`. This will make a loop into event records, starting a
        thread for each record. Your handler will receive each record in a separeted call, inside a thread model.
        
        ### Logging
        
        You can define the general log verbosity level using a Environment variable called `LOG_LEVEL` and the boto3 log level
        using a Environment variable called `BOTO_LOG_LEVEL`. 
        
        The valid values for both Environment variables are:
        * DEBUG
        * INFO
        * WARNING
        * ERROR
        * CRITICAL
        
        The default values are:
        * `LOG_LEVEL` = `ERROR`
        * `BOTO_LOG_LEVEL` = `CRITICAL`
        
        ## Credits
        
        Decorator implementation inspired by https://github.com/aws-cloudformation/custom-resource-helper
        
        Log implementation inspired by https://gitlab.com/hadrien/aws_lambda_logging
        
        ## License
        
        This library is licensed under the MIT License.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
