rizer.spice.backend.models.results_schemas#

Pydantic models for the Results Explorer API: browse/compare/tune plots of already-computed runs.

Classes#

PlotKindInfo

One selectable plot kind (mirrors rizer.misc.simulation.plot_registry.PlotKind).

PlotKindListResponse

Response for GET /api/results/plot-kinds.

RunInfo

One discovered simulation run.

RunListResponse

Response for GET /api/results/runs.

ExperimentFileInfo

One discovered, parseable experiment CSV.

ExperimentListResponse

Response for GET /api/results/experiments.

PlotTrace

One drawable trace (one run's curve, or one experiment's data).

PlotAxisConfig

One logical axis's (e.g. ax or ax_v) display configuration.

PlotAnnotation

A text annotation with an attached arrow (mirrors get_annotation).

PlotArrow

A standalone arrow, independent of any text box (mirrors get_arrow).

PlotDataResponse

Response for POST /api/results/plot.

CustomQuantityInfo

Static metadata for one selectable custom-plot quantity.

CustomPlotRunData

One run's raw values for every custom-plot quantity.

CustomPlotRequest

Request for POST /api/results/custom-plot.

CustomPlotResponse

Response for POST /api/results/custom-plot.

PlotDataRequest

Request for POST /api/results/plot.

SaveAnnotationsRequest

Request for POST /api/results/annotations.

SaveAnnotationsResponse

Response for POST /api/results/annotations.

ExportSvgRequest

Request for POST /api/results/export-svg.

ExportSvgResponse

Response for POST /api/results/export-svg.

Module Contents#

class rizer.spice.backend.models.results_schemas.PlotKindInfo(/, **data: Any)#

Bases: pydantic.BaseModel

One selectable plot kind (mirrors rizer.misc.simulation.plot_registry.PlotKind).

id: str#
display_name: str#
requires_simulation: bool#
experiment_quantities: list[str]#
curve_groups: list[str] = None#
class rizer.spice.backend.models.results_schemas.PlotKindListResponse(/, **data: Any)#

Bases: pydantic.BaseModel

Response for GET /api/results/plot-kinds.

plot_kinds: list[PlotKindInfo]#
class rizer.spice.backend.models.results_schemas.RunInfo(/, **data: Any)#

Bases: pydantic.BaseModel

One discovered simulation run.

id: str = None#
folder_name: str = None#
case_family: str = None#
top_level_family: str = None#
archived: bool = None#
class rizer.spice.backend.models.results_schemas.RunListResponse(/, **data: Any)#

Bases: pydantic.BaseModel

Response for GET /api/results/runs.

runs: list[RunInfo]#
class rizer.spice.backend.models.results_schemas.ExperimentFileInfo(/, **data: Any)#

Bases: pydantic.BaseModel

One discovered, parseable experiment CSV.

id: str = None#
experiment: str = None#
quantities: list[str] = None#
class rizer.spice.backend.models.results_schemas.ExperimentListResponse(/, **data: Any)#

Bases: pydantic.BaseModel

Response for GET /api/results/experiments.

experiments: list[ExperimentFileInfo]#
skipped: list[str] = None#
class rizer.spice.backend.models.results_schemas.PlotTrace(/, **data: Any)#

Bases: pydantic.BaseModel

One drawable trace (one run’s curve, or one experiment’s data).

label: str#
x: list[float]#
y: list[float]#
axis: str = None#
trace_id: str = None#
kind: Literal['line', 'errorbar'] = 'line'#
y_err: list[float] | None = None#
color: str | None = None#
linestyle: Literal['solid', 'dot', 'dash', 'dashdot'] = 'solid'#
group: str = None#
source_id: str = None#
species: str | None = None#
hover_name: str | None = None#
hover_unit: str | None = None#
hover_source: str | None = None#
class rizer.spice.backend.models.results_schemas.PlotAxisConfig(/, **data: Any)#

Bases: pydantic.BaseModel

One logical axis’s (e.g. ax or ax_v) display configuration.

label: str | None = None#
xlim: tuple[float, float] | None = None#
ylim: tuple[float, float] | None = None#
xscale: str | None = None#
yscale: str | None = None#
color: str | None = None#
class rizer.spice.backend.models.results_schemas.PlotAnnotation(/, **data: Any)#

Bases: pydantic.BaseModel

A text annotation with an attached arrow (mirrors get_annotation).

text: str#
xy: tuple[float, float]#
xytext: tuple[float, float]#
on_axis: str = 'ax'#
color: str | None = None#
fontsize: float | None = None#
arrow_lw: float | None = None#
class rizer.spice.backend.models.results_schemas.PlotArrow(/, **data: Any)#

Bases: pydantic.BaseModel

A standalone arrow, independent of any text box (mirrors get_arrow).

start: tuple[float, float]#
end: tuple[float, float]#
on_axis: str = 'ax'#
color: str | None = None#
arrow_lw: float | None = None#
class rizer.spice.backend.models.results_schemas.PlotDataResponse(/, **data: Any)#

Bases: pydantic.BaseModel

Response for POST /api/results/plot.

traces: list[PlotTrace]#
axes: dict[str, PlotAxisConfig]#
annotations: list[PlotAnnotation]#
arrows: list[PlotArrow] = None#
text_positions: dict[str, float] = None#
time_offsets_ns: dict[str, float] = None#
hidden_groups: list[str] = None#
class rizer.spice.backend.models.results_schemas.CustomQuantityInfo(/, **data: Any)#

Bases: pydantic.BaseModel

Static metadata for one selectable custom-plot quantity.

display_name: str#
unit: str#
hover_name: str = None#
hover_unit: str = None#
class rizer.spice.backend.models.results_schemas.CustomPlotRunData(/, **data: Any)#

Bases: pydantic.BaseModel

One run’s raw values for every custom-plot quantity.

run_id: str#
run_label: str#
quantities: dict[str, list[float]]#
class rizer.spice.backend.models.results_schemas.CustomPlotRequest(/, **data: Any)#

Bases: pydantic.BaseModel

Request for POST /api/results/custom-plot.

run_ids: list[str]#
class rizer.spice.backend.models.results_schemas.CustomPlotResponse(/, **data: Any)#

Bases: pydantic.BaseModel

Response for POST /api/results/custom-plot.

quantity_info: dict[str, CustomQuantityInfo]#
runs: list[CustomPlotRunData]#
class rizer.spice.backend.models.results_schemas.PlotDataRequest(/, **data: Any)#

Bases: pydantic.BaseModel

Request for POST /api/results/plot.

plot_kind: str#
run_ids: list[str] = None#
experiment_ids: list[str] = None#
class rizer.spice.backend.models.results_schemas.SaveAnnotationsRequest(/, **data: Any)#

Bases: pydantic.BaseModel

Request for POST /api/results/annotations.

plot_kind: str#
run_ids: list[str] = None#
axes: dict[str, PlotAxisConfig] = None#
annotations: list[PlotAnnotation] = None#
arrows: list[PlotArrow] = None#
trace_colors: dict[str, str] = None#
trace_linestyles: dict[str, str] = None#
text_positions: dict[str, float] = None#
time_offsets_ns: dict[str, float] = None#
hidden_groups: list[str] = None#
comparison_name: str | None = None#
class rizer.spice.backend.models.results_schemas.SaveAnnotationsResponse(/, **data: Any)#

Bases: pydantic.BaseModel

Response for POST /api/results/annotations.

saved_path: str#
class rizer.spice.backend.models.results_schemas.ExportSvgRequest(/, **data: Any)#

Bases: SaveAnnotationsRequest

Request for POST /api/results/export-svg.

experiment_ids: list[str] = None#
class rizer.spice.backend.models.results_schemas.ExportSvgResponse(/, **data: Any)#

Bases: pydantic.BaseModel

Response for POST /api/results/export-svg.

svg: str#
warnings: list[str]#
saved_path: str#