Catalog PyPI
Back to packageRELEASE DETAILS

0.1.2

PyPI

actig-lambda-deployer

AWS Lambda Container Deployment CLI with AI-powered code analysis

Published20 Jun 2025
Direct dependencies14
Transitive dependenciesNot calculated

README

Version 0.1.2 documentation

ACTIG Lambda Deployer

An intelligent AWS Lambda container deployment CLI that automates code analysis and deployment using AWS Bedrock Claude for AI-powered artifact generation.

Features

✨ AI-Powered Analysis: Uses AWS Bedrock Claude to analyze Lambda code and generate optimized deployment artifacts
🐳 Container Deployments: Automated Docker container builds and ECR repository management
🚀 Complete CI/CD Pipeline: Integrates CodeCommit, CodeBuild, and CloudFormation for end-to-end automation
📦 Artifact Generation: Automatically generates Dockerfile, buildspec.yml, and CloudFormation templates
🔧 Team Standards: Follows your team's build patterns and requirements

Installation

pip install actig-lambda-deployer

Prerequisites

  • AWS CLI configured with appropriate permissions
  • AWS Bedrock access with Claude models enabled
  • Git configured for CodeCommit (if using CodeCommit)
  • Docker (for local testing)

Quick Start

1. Prepare Your Lambda Function

Your Lambda function directory should contain:

  • Python source files (.py)
  • requirements.txt file (required)

Example structure:

my-lambda/
├── lambda_function.py
└── requirements.txt

2. Deploy Your Function

actig-lambda-deployer deploy ./my-lambda --function-name my-function

The tool will:

  1. Analyze your code using AI
  2. Generate optimized deployment artifacts
  3. Create CI/CD pipeline infrastructure
  4. Build and deploy your container image
  5. Deploy your Lambda function

🔄 Updates & Redeployments: Running the command again on an existing function will automatically update it with your latest code changes. The tool reuses existing infrastructure (ECR repo, CodeCommit repo, CodeBuild project) and creates a new container image to update your Lambda function with zero downtime.

3. Check Deployment Status

actig-lambda-deployer status my-function

Configuration

AWS Credentials

Configure AWS credentials using any standard method:

# Using AWS CLI (Preferred Method)
aws configure

# Using environment variables
export AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
export AWS_DEFAULT_REGION=us-east-1

# Using AWS profiles
actig-lambda-deployer deploy ./my-lambda --function-name my-func --profile production

Bedrock Access

Ensure you have access to these Bedrock models:

  • anthropic.claude-3-5-sonnet-20240620-v1:0

Enable model access in the AWS Bedrock console.

Usage Examples

Basic Deployment

actig-lambda-deployer deploy ./src --function-name api-handler

Custom ECR Repository

actig-lambda-deployer deploy ./src --function-name api-handler --repository-name my-custom-repo

Dry Run (Preview Changes)

actig-lambda-deployer deploy ./src --function-name api-handler --dry-run

Different AWS Region

actig-lambda-deployer deploy ./src --function-name api-handler --region us-west-2

Update Existing Function

# Same command updates the existing Lambda function
actig-lambda-deployer deploy ./src --function-name api-handler

Debug Mode

actig-lambda-deployer deploy ./src --function-name api-handler --log-level DEBUG

CLI Reference

Commands

  • deploy - Analyze and deploy Lambda function
  • status - Check deployment status
  • --help - Show help information

Global Options

  • --profile - AWS profile to use (default: default)
  • --region - AWS region (default: us-east-1)
  • --log-level - Logging level (DEBUG, INFO, WARNING, ERROR)

Deploy Options

  • --function-name - Lambda function name (required)
  • --repository-name - ECR repository name (optional)
  • --dry-run - Preview changes without deployment

Requirements File

Your requirements.txt must be present in the Lambda source directory. Example:

boto3>=1.26.0
requests>=2.31.0
pydantic>=1.10.0

Generated Artifacts

The tool automatically generates:

  1. Dockerfile - Optimized for Lambda container runtime
  2. buildspec.yml - CodeBuild configuration for CI/CD
  3. CloudFormation template - Infrastructure as code

These are created in your source directory and can be customized as needed.

AWS Resources Created

The deployment creates:

  • ECR repository for container images
  • CodeCommit repository for source code (optional)
  • CodeBuild project for CI/CD pipeline
  • IAM roles with minimal required permissions
  • CloudFormation stack for Lambda function
  • CloudWatch log groups

Troubleshooting

Common Issues

"requirements.txt not found"

# Ensure requirements.txt exists in your source directory
ls ./my-lambda/requirements.txt

"AWS credentials not configured"

# Configure AWS credentials
aws configure
# Or set environment variables
export AWS_PROFILE=your-profile

"Bedrock access denied"

  • Enable model access in AWS Bedrock console
  • Ensure your IAM user/role has Bedrock permissions

"Build failed with Docker errors"

  • Check your requirements.txt for invalid packages
  • Ensure all dependencies are compatible with Lambda runtime

Debug Mode

For detailed logging:

actig-lambda-deployer deploy ./src --function-name my-func --log-level DEBUG

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 14

Native requirements
14 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
boto3
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
boto3>=1.26.0runtime
click
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
click>=8.0.0runtime
GitPython
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
GitPython>=3.1.0runtime
python-json-logger
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
python-json-logger>=2.0.0runtime
PyYAML
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
PyYAML>=6.0runtime
git-remote-codecommit
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
git-remote-codecommit>=1.15.0runtime
pathlib2
Environment
{
  "extras": "",
  "marker": "python_version < \"3.4\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pathlib2>=2.3.0; python_version < "3.4"runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest>=7.0.0; extra == "dev"runtime
pytest-mock
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-mock>=3.10.0; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=4.0.0; extra == "dev"runtime
black
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
black>=22.0.0; extra == "dev"runtime
flake8
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
flake8>=5.0.0; extra == "dev"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
mypy>=1.0.0; extra == "dev"runtime
moto
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
moto>=4.0.0; extra == "dev"runtime

Distribution files

2 collected
actig_lambda_deployer-0.1.2-py3-none-any.whl

bdist_wheel · 34.04 KB · Python py3

Source file
actig_lambda_deployer-0.1.2.tar.gz

sdist · 31.3 KB · Python source

Source file

Repository

PENDING
gao-dennis/actig-lambda-deployer

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:30 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:c994ecdda61aedcd849d8f800611a0f3f7ea3a499afe319e19da8684edb8f94a

Other collected versions

View all collected versions →