Dashboard#
- class openoptics.dashboard.DashboardService(config: DashboardConfig | None = None)[source]#
Bases:
object- update_topology(slice_to_topo) None[source]#
Render
slice_to_topoto a PNG undermedia/topos/and publish.
- register_event_source(source) None[source]#
Bind a non-polling event source (e.g.
ReconfigEventPublisher).Unlike collectors, event sources have no polling thread;
start()/stop()are not invoked on them. Binding just wires repo/broker/epoch_id so the source can persist + broadcast when itsemitmethod is called.
- class openoptics.dashboard.DashboardConfig(enabled: 'bool' = True, host: 'str' = 'localhost', port: 'int' = 8001, poll_interval_s: 'float' = 1.0, state_dir: 'Path' = <factory>, live_queue_size: 'int' = 256)[source]#
Bases:
object- enabled: bool = True#
- host: str = 'localhost'#
- port: int = 8001#
- poll_interval_s: float = 1.0#
- state_dir: Path#
- live_queue_size: int = 256#
- property db_path: Path#
- property media_dir: Path#
- property topos_dir: Path#
- classmethod from_env() DashboardConfig[source]#