stanza.plotter.backends.server

Server-based plotting backend for live visualization in browser.

Runs a Bokeh server in a background thread, streams data updates via WebSocket. Works from any environment: scripts, notebooks, or interactive sessions.

Module Contents

Classes

NameDescription
ServerBackendLive plotting in browser via Bokeh server.

Data

logger

API

1stanza.plotter.backends.server.logger

Value: getLogger(...)

1class stanza.plotter.backends.server.ServerBackend(port: int = 5006, daemon: bool = True)

Live plotting in browser via Bokeh server.

Runs embedded server in background thread. Server dies when parent process exits.

1start(block: bool = False) -> None

Start Bokeh server.

Parameters:

block
boolDefaults to False

If True, blocks until server is stopped (for persistent mode).

1stop() -> None

Stop the Bokeh server and remove from active servers registry.

1reset() -> None

Reset the document, clearing all plots and data sources.

This allows reusing the same server instance across multiple sessions.

1create_figure(
2 name: str,
3 x_label: str,
4 y_label: str,
5 plot_type: str = 'line',
6 z_label: str | None = None,
7 cell_size: tuple[float, float] | None = None
8) -> None

Register a new plot. Created when browser connects.

1_create_plot(name: str) -> None

Create plot based on spec.

1_create_line_plot(name: str) -> None

Create 1D line plot.

1_create_heatmap_plot(name: str) -> None

Create 2D heatmap with rect glyph and linear color mapping.

1stream_data(
2 name: str,
3 new_data: dict[str, typing.Any],
4 rollover: int | None = None
5) -> None

Add data to plot. Buffers if browser not yet connected.