Spaces:
Running
Running
Dashboard Module — Streamlit App and Pages
Directory: scheduler/dashboard/
The dashboard provides a Streamlit UI to explore data, inspect the ripeness classifier, run simulations, configure overrides, and view analytics/reports.
Files overview
app.py- Purpose: Streamlit entrypoint that initializes navigation, shared state, and page routing.
- Interactions: Uses helpers under
dashboard/utils/to load data and run simulations; mounts pages underdashboard/pages/.
__init__.py- Purpose: Package initialization for the dashboard module.
pages/1_Data_And_Insights.py- Purpose: Data loading, cleaning summaries, EDA‑style insights and figures.
- Inputs: parquet/CSV datasets and computed reports in
reports/figures/*.
pages/2_Ripeness_Classifier.py- Purpose: Visualize and test
core.ripeness.RipenessClassifieron sample cases; display reasons and thresholds. - Interactions: Can call into
RipenessClassifier.get_current_thresholds()andclassify().
- Purpose: Visualize and test
pages/3_Simulation_Workflow.py- Purpose: Configure and run simulation scenarios; display outputs (events, metrics, summaries).
- Interactions:
dashboard/utils/simulation_runner.py; backendscheduler/simulation/engine.py.
pages/4_Cause_Lists_And_Overrides.py- Purpose: Generate draft cause lists for a date; review/apply overrides; export finalized lists.
- Interactions:
control/overrides.pyforOverrideManagerandCauseListDraft.
pages/6_Analytics_And_Reports.py- Purpose: Aggregate analytics, charts, and report downloads; links to
reports/figures/*andoutputs/simulation_runs/*.
- Purpose: Aggregate analytics, charts, and report downloads; links to
utils/__init__.py- Purpose: Package initialization for dashboard utilities.
utils/data_loader.py- Purpose: Load datasets and parameter files for use in the UI; cache artifacts for responsiveness.
- Inputs:
Data/,reports/figures/*/params/*.csv, and defaults inscheduler/data/defaults/*.
utils/simulation_runner.py- Purpose: Convenience layer to assemble
CourtSimConfig, run the simulation, and collect outputs for display/download. - Interactions:
scheduler/simulation/engine.pyand policy modules.
- Purpose: Convenience layer to assemble
utils/ui_input_parser.py- Purpose: Parse and validate user inputs from Streamlit widgets into typed configs/overrides.