Skip to main content

bisslog-lambda-aws is a lightweight Python library for integrating AWS Lambda with a clean, hexagonal architecture. It helps decouple domain logic from infrastructure by generating AWS-compatible handlers and deployment packages — all from metadata.

Project description

bisslog-lambda-aws

PyPI License: MIT

bisslog-lambda-aws is a lightweight Python library for integrating AWS Lambda with a clean, hexagonal architecture. It helps decouple domain logic from infrastructure by generating AWS-compatible handlers and deployment packages — all from metadata.


✨ Features

  • 🧱 Hexagonal architecture-first: Keeps your domain logic isolated from AWS-specific code.
  • ⚙️ Automatic Lambda handler generation: Based on YAML/JSON metadata.
  • 📦 ZIP packager for deployment: Easily create deployable .zip archives.
  • 🧪 CLI for automation: Analyze, generate and package with terminal commands.

📦 Installation

pip install bisslog-lambda-aws

🚀 Command Line Interface (CLI)

The library includes a CLI tool for metadata-driven Lambda handler generation and packaging.

bisslog_aws_lambda <command> [options]

Available Commands

🔍 print_lambda_handlers

Prints the generated AWS Lambda handlers to stdout without creating any files.

Example
bisslog_aws_lambda print_lambda_handlers \
  --metadata-file ./metadata/use_cases.yaml \
  --use-cases-folder-path ./src/domain/use_cases
Options
  • --metadata-file: Path to the metadata file (YAML or JSON). [required]

  • --use-cases-folder-path: Path to the folder containing use case classes. [required]

  • --filter-uc: Optional regex to filter which use cases are processed.

  • --encoding: File encoding (default: utf-8).

💾 generate_lambda_handlers

Generates AWS Lambda handler Python files and saves them to a specified folder.

Example
bisslog_aws_lambda generate_lambda_handlers \
  --metadata-file ./metadata/use_cases.yaml \
  --use-cases-folder-path ./src/domain/use_cases \
  --target-folder ./generated_handlers
Options
  • --metadata-file: Path to the metadata file. [required]

  • --use-cases-folder-path: Folder with use case classes. [required]

  • --target-folder: Folder where the generated handlers will be saved. [required]

  • --filter-uc: Optional use case name filter (regex).

  • --encoding: File encoding (default: utf-8).

📦 generate_lambda_zips

Packages AWS Lambda handlers into .zip files ready for deployment.

Example
bisslog_aws_lambda generate_lambda_zips \
  --handler-name user_create_handler \
  --src-folders ./src ./libs \
  --handlers-folder ./generated_handlers
Options
  • --handler-name: Name of the Lambda handler to package. [required]

  • --src-folders: One or more source folders to include in the ZIP. [required]

  • --handlers-folder: Folder where handler files are located. [required]

✅ Requirements

Python 3.7+

AWS Lambda-compatible Python project

🔧 Development

git clone https://github.com/your-org/bisslog-lambda-aws.git
cd bisslog-lambda-aws
pip install -e .

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bisslog_aws_lambda-0.0.1.tar.gz (38.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bisslog_aws_lambda-0.0.1-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

Details for the file bisslog_aws_lambda-0.0.1.tar.gz.

File metadata

  • Download URL: bisslog_aws_lambda-0.0.1.tar.gz
  • Upload date:
  • Size: 38.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for bisslog_aws_lambda-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7450d3dda26b7f37ca88dfa802687f6e985fc2757840394b6615fffa9c76bb7c
MD5 20ff81a9c9b05d3ed818f6816acfef3a
BLAKE2b-256 3c86f82b165aa0467bb35e2c89eac8a32d27ea6ba3420ca3949115f6086656f1

See more details on using hashes here.

File details

Details for the file bisslog_aws_lambda-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bisslog_aws_lambda-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 60aeda921f6087319e8f59a14f7128da5df81b6084c6213ae3e06be604ad9cbb
MD5 6436622b52bb56065332f706631b7e01
BLAKE2b-256 05268066df44c2d5d0da082c905bda378c2eb30e677aa985e57bf033710178cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page