Summary
The bundled dashboard module renders a fixed set of cards (stats.py returns a hardcoded dict; module.py exposes only register_routes + register_menu_items). There's no registry or lifecycle hook for a consumer module to contribute a dashboard card/widget, so any app-specific dashboard content must be a separate page.
Environment
- Framework checkout:
v0.0.17-5-g2b079c9; smpy / published simple_module_* / @simple-module-py/*: 0.0.17
- Python 3.12.3, uv 0.11.7, node v24.15.0, Linux (Ubuntu)
Found while building a real consumer app (Invoice Manager) on the framework.
Impact
For this Invoice Manager I had to build a separate per-currency dashboard inside the invoices module rather than contributing tiles to the bundled one. A register_dashboard_cards(registry) style hook (mirroring register_menu_items/register_permissions) would let modules add cards to the shared dashboard.
Suggestion
Add a dashboard card/widget contribution registry + lifecycle hook, or document that the bundled dashboard is intentionally non-extensible and consumers should build their own.
Summary
The bundled
dashboardmodule renders a fixed set of cards (stats.pyreturns a hardcoded dict;module.pyexposes onlyregister_routes+register_menu_items). There's no registry or lifecycle hook for a consumer module to contribute a dashboard card/widget, so any app-specific dashboard content must be a separate page.Environment
v0.0.17-5-g2b079c9;smpy/ publishedsimple_module_*/@simple-module-py/*: 0.0.17Found while building a real consumer app (Invoice Manager) on the framework.
Impact
For this Invoice Manager I had to build a separate per-currency dashboard inside the
invoicesmodule rather than contributing tiles to the bundled one. Aregister_dashboard_cards(registry)style hook (mirroringregister_menu_items/register_permissions) would let modules add cards to the shared dashboard.Suggestion
Add a dashboard card/widget contribution registry + lifecycle hook, or document that the bundled dashboard is intentionally non-extensible and consumers should build their own.