Skip to content

DEADSEC-SECURITY/aws-cdk-code-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS CDK Code Builder GitHub tag (latest SemVer) Python_Version GitHub

PyPI - Downloads PyPI - Downloads PyPI - Downloads

This library work very similarly to how AWS sam build works. It will find the requirements.txt file and install all libraries and package them together with your code to then ship to a lambda function.

📝 CONTRIBUTIONS

Before doing any contribution read CONTRIBUTING.

📧 CONTACT

Email: amng835@gmail.com

General Discord: https://discord.gg/dFD5HHa

Developer Discord: https://discord.gg/rxNNHYN9EQ

📥 INSTALLING

Latest PyPI stable release

pip install aws-cdk-code-builder

⚙ HOW TO USE

Folder tree (Simplified)

cdk_project
     | -- lambda_function
     |          | -- main.py
     | -- cdk_project
     |         | -- __init__.py
     |         | -- cdk_project_stack.py
     | -- app.py
     | -- ...

File: cdk_project_stack.py

import os
import aws_cdk
from aws_cdk import aws_lambda as lambda_
from aws_cdk_code_builder import Build

CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
PARENT_PATH = os.path.dirname(CURRENT_DIR)
LAMBDA_CODE = os.path.join(PARENT_PATH, 'lambda_function')


class CdkProjectStack(aws_cdk.Stack):
    def __init__(self, scope: aws_cdk.Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)
        
        # This is a simplified representation of Function, more params are needed for it to compile
        lambda_.Function(
            code=Build(
                project_path=LAMBDA_CODE,
                work_dir=PARENT_PATH
            ).build(),
        )

🤝 PARAMETERS

  • project_path : str, required
    • Path to the lambda function code
  • work_dir : str, required
    • Path to the working directory.
    • Note: Build folder will be created in this path (build/)

About

A Library that extends the aws_lambda.Code.from_asset and allows for auto packaging of the project

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages