Metadata-Version: 2.1
Name: cdk-image-moderation
Version: 0.1.49
Summary: Event-driven image moderation and notification with AWS CDK
Home-page: https://github.com/pahud/cdk-image-moderation.git
Author: Pahud<pahudnet@gmail.com>
License: Apache-2.0
Project-URL: Source, https://github.com/pahud/cdk-image-moderation.git
Description: [![NPM version](https://badge.fury.io/js/cdk-image-moderation.svg)](https://badge.fury.io/js/cdk-image-moderation)
        [![PyPI version](https://badge.fury.io/py/cdk-image-moderation.svg)](https://badge.fury.io/py/cdk-image-moderation)
        [![Release](https://github.com/pahud/cdk-image-moderation/actions/workflows/release.yml/badge.svg)](https://github.com/pahud/cdk-image-moderation/actions/workflows/release.yml)
        
        # cdk-image-moderation
        
        Event-driven image moderation and notification service with AWS CDK
        
        ![](images/cdk-image-moderation2.svg)
        
        # Sample
        
        This sample create a S3 bucket that will trigger image moderation check on object created and send notification to SNS when specific moderation labels are detected. The `SNS2Telegram` creates a Lambda function as the SNS topic subscription which fires the notification to a private Telegram chatroom with the image preview and moderation result.
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        from cdk_image_moderation import Moderation, SNS2Telegram
        
        app = cdk.App()
        env = {
            "region": process.env.CDK_DEFAULT_REGION,
            "account": process.env.CDK_DEFAULT_ACCOUNT
        }
        stack = cdk.Stack(app, "moderation-demo", env=env)
        
        # create the moderation
        mod = Moderation(stack, "Mod",
            moderation_labels=[ModerationLabels.EXPLICIT_NUDITY, ModerationLabels.DRUGS, ModerationLabels.TOBACCO, ModerationLabels.ALCOHOL, ModerationLabels.VIOLENCE, ModerationLabels.RUDE_GESTURES
            ]
        )
        
        # send notification via sns to telegram
        SNS2Telegram(stack, "SNS2TG",
            topic=mod.topic,
            chatid="-547476398"
        )
        ```
        
        # Deploy the CDK app
        
        ```sh
        export TELEGRAM_TOKEN=<YOUR_TOKEN>
        cdk diff
        cdk deploy
        ```
        
        # Deploy from this repository
        
        ```sh
        export TELEGRAM_TOKEN=<YOUR_TOKEN>
        # run `yarn build` or `yarn watch` to generate the lib
        cdk --app lib/integ.default.js diff
        cdk --app lib/integ.default.js deploy
        ```
        
        On deploy completed, you will get the S3 bucket in the `Outputs`. Simply upload any images into this bucket and you should be able to get the notification from the Telegram chatroom.
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python :: 3 :: Only
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: Typing :: Typed
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved
Requires-Python: >=3.6
Description-Content-Type: text/markdown
