Skip to main content

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.

Metadata

Release files for bisslog-aws-lambda 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bisslog-aws-lambda 0.0.1
File Size Uploaded Provenance
bisslog_aws_lambda-0.0.1.tar.gz 38.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for bisslog-aws-lambda 0.0.1
File Interpreter ABI Platform
bisslog_aws_lambda-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 73.5 kB

Release files / bisslog_aws_lambda-0.0.1.tar.gz

Download URL bisslog_aws_lambda-0.0.1.tar.gz
Size 38.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7450d3dda26b7f37ca88dfa802687f6e985fc2757840394b6615fffa9c76bb7c
BLAKE2b-256 checksum
How to use checksums
3c86f82b165aa0467bb35e2c89eac8a32d27ea6ba3420ca3949115f6086656f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / bisslog_aws_lambda-0.0.1-py3-none-any.whl

Download URL bisslog_aws_lambda-0.0.1-py3-none-any.whl
Size 35.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60aeda921f6087319e8f59a14f7128da5df81b6084c6213ae3e06be604ad9cbb
BLAKE2b-256 checksum
How to use checksums
05268066df44c2d5d0da082c905bda378c2eb30e677aa985e57bf033710178cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Security for bisslog-aws-lambda 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page