Observed since 20 Oct, 18:30 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
actig-lambda-deployer
AWS Lambda Container Deployment CLI with AI-powered code analysis
An intelligent AWS Lambda container deployment CLI that automates code analysis and deployment using AWS Bedrock Claude for AI-powered artifact generation.
✨ 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
pip install actig-lambda-deployer
Your Lambda function directory should contain:
.py)requirements.txt file (required)Example structure:
my-lambda/
├── lambda_function.py
└── requirements.txt
actig-lambda-deployer deploy ./my-lambda --function-name my-function
The tool will:
🔄 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.
actig-lambda-deployer status my-function
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
Ensure you have access to these Bedrock models:
anthropic.claude-3-5-sonnet-20240620-v1:0Enable model access in the AWS Bedrock console.
actig-lambda-deployer deploy ./src --function-name api-handler
actig-lambda-deployer deploy ./src --function-name api-handler --repository-name my-custom-repo
actig-lambda-deployer deploy ./src --function-name api-handler --dry-run
actig-lambda-deployer deploy ./src --function-name api-handler --region us-west-2
# Same command updates the existing Lambda function
actig-lambda-deployer deploy ./src --function-name api-handler
actig-lambda-deployer deploy ./src --function-name api-handler --log-level DEBUG
deploy - Analyze and deploy Lambda functionstatus - Check deployment status--help - Show help information--profile - AWS profile to use (default: default)--region - AWS region (default: us-east-1)--log-level - Logging level (DEBUG, INFO, WARNING, ERROR)--function-name - Lambda function name (required)--repository-name - ECR repository name (optional)--dry-run - Preview changes without deploymentYour requirements.txt must be present in the Lambda source directory. Example:
boto3>=1.26.0
requests>=2.31.0
pydantic>=1.10.0
The tool automatically generates:
These are created in your source directory and can be customized as needed.
The deployment creates:
"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"
"Build failed with Docker errors"
For detailed logging:
actig-lambda-deployer deploy ./src --function-name my-func --log-level DEBUG
MIT License - see LICENSE file for details.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
boto3Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | boto3>=1.26.0 | runtime |
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | click>=8.0.0 | runtime |
GitPythonEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | GitPython>=3.1.0 | runtime |
python-json-loggerEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | python-json-logger>=2.0.0 | runtime |
PyYAMLEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | PyYAML>=6.0 | runtime |
git-remote-codecommitEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | git-remote-codecommit>=1.15.0 | runtime |
pathlib2Environment{
"extras": "",
"marker": "python_version < \"3.4\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pathlib2>=2.3.0; python_version < "3.4" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest>=7.0.0; extra == "dev" | runtime |
pytest-mockEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-mock>=3.10.0; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-cov>=4.0.0; extra == "dev" | runtime |
blackEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | black>=22.0.0; extra == "dev" | runtime |
flake8Environment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | flake8>=5.0.0; extra == "dev" | runtime |
mypyEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | mypy>=1.0.0; extra == "dev" | runtime |
motoEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | moto>=4.0.0; extra == "dev" | runtime |
bdist_wheel · 34.04 KB · Python py3
sdist · 31.3 KB · Python source
Shared repository data · GitHub
Observed since 20 Oct, 18:30 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:c994ecdda61aedcd849d8f800611a0f3f7ea3a499afe319e19da8684edb8f94a