Application Structure
Fluvius does not require a fixed layout. A practical service keeps framework wiring separate from domain declarations and persistence:
myapp/
├── __init__.py
├── pkginfo.py
├── main.py
├── config.ini
├── domain/
│ ├── aggregate.py
│ ├── command.py
│ ├── domain.py
│ ├── model.py
│ └── state.py
├── data/
│ ├── schema.py
│ └── manager.py
├── query/
│ ├── manager.py
│ └── resources.py
└── tests/
├── conftest.py
└── test_api.py
pkginfo.pysupplies metadata tocreate_app.main.pycomposes authentication, domain, query, MCP, transport, media, and application routes.domain/owns command-side behavior.data/owns connectors, schemas, and data managers.query/owns validated read resources.
Import command, event, response, and message modules during startup so their domain subclasses register. Prefer package-level Fluvius imports and keep environment-specific DSNs and secrets outside source control.