bisslog-lambda-aws
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
.ziparchives. - 🧪 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bisslog_aws_lambda-0.0.1.tar.gz | 38.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.