reporting#
hydromodpy.reporting is the HTML composites layer. It assembles
figures from display/ and analysis features from analysis/
into standalone HTML deliverables: the calibration session report,
the simulation comparison web report, and the streamlit configurator.
Not every HTML report lives in this package: workflow-owned reports
such as site-selection and catchment review pages may live beside their
workflow code, but should reuse hydromodpy.display.report_blocks
when they are block-based static pages.
Reporting is a one-way sink: display and analysis must not
import from reporting.
Sub-modules#
reporting/calibration_report.py– calibration session HTML report (moved fromdisplay/). Reads sessions, iterations, and promoted runs from the catalog; renders six calibration figures through thedisplaycatalog; emits a standalone HTML file.reporting/streamlit_config.py– streamlit configurator UI (moved fromdisplay/). Exposes the JSON Schema export to a live TOML editor.reporting/comparison/– simulation comparison HTML web report (moved fromanalysis/comparison/web/).comparison/render.py– top-level orchestration of the web report; main entry point.comparison/context.py– per-pair / per-N rendering context.comparison/figures.py– figure assembly delegated todisplayandanalysis.comparison/html_utils.py– small HTML helpers.comparison/sections/– one module per report section.comparison/compact_network/– compact network synthesis section (wascompact_network_synthesis).
Key public symbols#
hydromodpy.reporting.calibration_report.render_reporthydromodpy.reporting.streamlit_config(CLI script entry point)hydromodpy.reporting.comparison.render(web report orchestrator)hydromodpy.reporting.comparison.compact_network.builder.build_compact_network_synthesis
Block-based reports#
Use hydromodpy.display.report_blocks for static HTML pages whose
content can be represented as blocks with metrics, figures, tables,
links and warnings. Keep the report producer in the package that owns
the manifest or workflow contract, then delegate HTML rendering to the
shared display renderer. This keeps reporting focused on the
cross-run composites it owns directly and avoids moving workflow logic
into a generic HTML package.
Recommended reading path#
hydromodpy/reporting/comparison/render.pyfor the comparison web report entry point.hydromodpy/reporting/calibration_report.pyfor the calibration session report.hydromodpy/reporting/comparison/sections/__init__.pyfor the per-section composition.hydromodpy/reporting/streamlit_config.pyfor the configurator UI.
Layer-matrix neighbours#
Allowed targets:
core,schema,config,results,display,analysis,reporting.Allowed sources:
workflow,cli, top-level facade.displaycannot importreporting.analysishas one documented tolerance toreportingfor the comparison HTML report; that edge should not expand.
See also#
display for the figure catalog reused by every HTML report.
Add a Block HTML Report for the shared block-report recipe.
analysis for the comparison features fed into the web report.
Calibration Guide – the calibration HTML report end to end.