Fluvius Framework
Fluvius is a Python 3.12+ framework for building domain-driven HTTP and MCP backends. Version 1.2 combines CQRS-style domains, SQLAlchemy persistence, FastAPI integration, policy enforcement, query resources, background work, realtime transport, media, forms, and workflows.
Source of truth
This documentation tracks the current fluvius-py source tree. Public imports shown here come from each package's __init__.py; runnable patterns are based on the repository test applications.
Current package map
| Package | Purpose |
|---|---|
fluvius.domain | Domains, commands, aggregates, events, responses, and state managers |
fluvius.data | SQLAlchemy drivers, data managers, schemas, models, and backend queries |
fluvius.fastapi | Application factory, auth, domain/query mounts, media, and lifecycle hooks |
fluvius.query | Declarative query resources, filters, reports, and managers |
fluvius.workq | Taskiq-backed tasks, schedules, clients, and result backends |
fluvius.mcp | Authenticated Streamable HTTP MCP mounting |
fluvius.transport | NATS/MQTT transport and realtime bridges |
fluvius.dform | Form definitions, document templates, policy, and FastAPI setup |
fluvius.navis | Human workflow definitions and execution |
fluvius.media | Filesystem-backed media management |
fluvius.casbin | Policy-based authorization |
Start here
- Install Fluvius.
- Follow the quick start.
- Configure the runtime with the configuration guide.
- Use the API surface and CLI reference while building.
Fluvius is intentionally modular. Install the core package first, then add the optional queue, transport, or Hatchet dependencies only when the application uses them.