Skip to main content

bisslog-fastapi

PyPI - Version Tests License

Framework-agnostic adapter for Bisslog. Connects external interfaces to use cases while keeping domain logic isolated and pure.

bisslog-fastapi is the FastAPI adapter for the Bisslog hexagonal architecture framework. It allows you to expose your core business logic (Use Cases) as HTTP/WebSocket endpoints automatically, preserving the Clean Architecture principles.

It acts as a bridge:

  1. Read Metadata: Scans your Bisslog services and triggers.
  2. Adapt: Maps HTTP requests (Path, Query, Body, Headers) to your Use Case input arguments.
  3. Execute: Runs your Use Case (Sync or Async).
  4. Respond: formats the result back to JSON.

Installation

pip install bisslog-fastapi

Usage

You can use bisslog-fastapi in two ways: as a Runtime Runner or as a Code Generator (Builder).

1. Runtime Runner (Recommended for Dev)

Dynamically mounts your use cases at startup without generating extra code files.

bisslog_fastapi run [--metadata-file FILE] [--use-cases-folder-path DIR]
                    [--infra-path DIR] [--encoding ENC]
                    [--host HOST] [--port PORT] [--reload]
                    [--workers WORKERS] [--log-level LEVEL]

Example:

bisslog_fastapi run --metadata-file bisslog.metadata.json --port 8000 --reload

2. Builder Strategy (Production)

Generates a static main.py file with all routes hardcoded. This is useful for inspection or performance optimization.

bisslog_fastapi build [--metadata-file FILE] [--use-cases-folder-path DIR]
                      [--infra-path DIR] [--encoding ENC]
                      [--target-filename FILE]

Example:

bisslog_fastapi build --target-filename main.py

Then run the generated file normally with uvicorn:

uvicorn main:app --reload

Features

  • Automatic Routing: Uses TriggerHttp metadata to register routes.
  • Smart Mapping:
    • path_query.* → URL Path parameters.
    • body.* → JSON Body fields.
    • params.* → Query parameters.
    • headers.* → HTTP Headers.
  • Async Support: Native support for asynchronous Use Cases.
  • OpenAPI Integration: Automatically generates Swagger UI for your domain logic with correct signatures.
  • CORS: Configurable per-trigger via metadata.

License

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

Metadata

Release files for bisslog-fastapi 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-fastapi 0.0.1
File Size Uploaded Provenance
bisslog_fastapi-0.0.1.tar.gz 44.4 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 72.7 kB

Release files / bisslog_fastapi-0.0.1.tar.gz

Download URL bisslog_fastapi-0.0.1.tar.gz
Size 44.4 kB
Tags Source
SHA-256 checksum
How to use checksums
76e5eeaf6f3049271fec7e6dcf114c1badd702759aa85883c769dd2addcdf4f6
BLAKE2b-256 checksum
How to use checksums
d01ef6e9dd183d8416f11a40fc32abfff8eb1094e12e8ef83fda54cad6d3980b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

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

Download URL bisslog_fastapi-0.0.1-py3-none-any.whl
Size 28.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1cf0c6c517a48d09035480900ae97484f4577caf4ee422089e89c14f4148f33a
BLAKE2b-256 checksum
How to use checksums
fdbcfe7f8dc5e41c8f79c12526a72367a3c161198fc7b1d304b7c5bf29754814
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Security for bisslog-fastapi 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