CI / Build and push docker image (push) Successful in 2m29s
Relocate the composition root (app, config, static, logging_config, aerich_config) from server/src/tavolo/ to packages/tavolo-app/src/tavolo/, with its own pyproject.toml and README like the sibling distributions. Module paths and the granian entrypoint are unchanged. server/pyproject.toml remains as a tooling shim ([tool.aerich] next to ./migrations, [tool.mypy] for runs from server/); the Dockerfile installs all three distributions from ./packages. Verified: all suites green, mypy clean per package, aerich resolves the moved config identically, wheel builds.
1.1 KiB
1.1 KiB
tavolo-app
The deployable tavolo application: the composition root wiring
tavolo-platform to the
tavolo-scopone game.
Contents
app.py— assembles theKayaApp(session/OIDC/Tortoise/OpenAPI mixins plusPlatformMixinand the deadline scheduler), registers theScoponeEnginewith its configured timeouts, and exposestavolo.app:appfor granian.config.py— environment-driven frozenSettings.aerich_config.py— Tortoise ORM configuration consumed by the aerich CLI (migrations live inserver/migrations/; aerich itself is configured via the[tool.aerich]section ofserver/pyproject.toml).logging_config.py— logging setup.static.py— SPA shell hosting for the compiled frontend.
Development (from packages/tavolo-app/)
.venv/bin/python -m mypy --namespace-packages --explicit-package-bases \
src/tavolo/app.py \
src/tavolo/config.py \
src/tavolo/static.py \
src/tavolo/aerich_config.py \
src/tavolo/logging_config.py
End-to-end coverage of the wired stack lives in server/tests/.