Analysis

sim_panel.analysis.config.build_analysis_config_from_yaml(path)[source]
Return type:

AnalysisConfig

Parameters:

path (str)

sim_panel.analysis.config.build_analysis_config_from_dict(d)[source]

Build an AnalysisConfig from a YAML-parsed dict.

Return type:

AnalysisConfig

Parameters:

d (Mapping[str, Any])

Minimal YAML:

run_dir: outputs/run_001 output_dir: outputs/run_001/analysis

Optional sections:

load: summaries: metrics: plots: export: regression:

sim_panel.analysis.config.build_compare_config_from_dict(d)[source]
Return type:

CompareConfig

Parameters:

d (Mapping[str, Any])

sim_panel.analysis.config.build_compare_config_from_yaml(path)[source]
Return type:

CompareConfig

Parameters:

path (str)

class sim_panel.analysis.types.LoadConfig(resolve_sources=True, prefer_extra_paths=True, strict_source_resolution=False)[source]

Bases: object

Controls how a run is loaded for analysis.

Parameters:
  • resolve_sources (bool)

  • prefer_extra_paths (bool)

  • strict_source_resolution (bool)

resolve_sources: bool = True
prefer_extra_paths: bool = True
strict_source_resolution: bool = False
class sim_panel.analysis.types.SummaryConfig(run=True, outcomes=True, traces=True, selections=True)[source]

Bases: object

Toggles for summary-table generation.

Parameters:
  • run (bool)

  • outcomes (bool)

  • traces (bool)

  • selections (bool)

run: bool = True
outcomes: bool = True
traces: bool = True
selections: bool = True
class sim_panel.analysis.types.MetricConfig(quality=True, diversity=True, persona=True, selection=False)[source]

Bases: object

Toggles for metric families.

Parameters:
  • quality (bool)

  • diversity (bool)

  • persona (bool)

  • selection (bool)

quality: bool = True
diversity: bool = True
persona: bool = True
selection: bool = False
class sim_panel.analysis.types.OutcomeDistributionPlotConfig(enabled=True, normalize_to_share=False, fields=None, figsize=(7.0, 4.5))[source]

Bases: object

Options for outcome distribution plots.

Parameters:
  • enabled (bool)

  • normalize_to_share (bool)

  • fields (List[str] | None)

  • figsize (tuple[float, float])

enabled: bool = True
normalize_to_share: bool = False
fields: List[str] | None = None
figsize: tuple[float, float] = (7.0, 4.5)
class sim_panel.analysis.types.SummaryBarPlotConfig(enabled=False, outcome_field='rating', metrics=<factory>, max_items=30, sort_by='label_asc', horizontal=False)[source]

Bases: object

Options for panelist/product summary bar plots.

Parameters:
  • enabled (bool)

  • outcome_field (str)

  • metrics (List[str])

  • max_items (int)

  • sort_by (str)

  • horizontal (bool)

enabled: bool = False
outcome_field: str = 'rating'
metrics: List[str]
max_items: int = 30
sort_by: str = 'label_asc'
horizontal: bool = False
class sim_panel.analysis.types.SelectionConcentrationPlotConfig(enabled=False, modes=<factory>, top_k=15, horizontal=True)[source]

Bases: object

Options for selection concentration plots.

Parameters:
  • enabled (bool)

  • modes (List[str])

  • top_k (int)

  • horizontal (bool)

enabled: bool = False
modes: List[str]
top_k: int = 15
horizontal: bool = True
class sim_panel.analysis.types.PlotConfig(outcome_distributions=<factory>, panelist_summary=<factory>, product_summary=<factory>, selection_concentration=<factory>)[source]

Bases: object

Plot family configuration.

Parameters:
outcome_distributions: OutcomeDistributionPlotConfig
panelist_summary: SummaryBarPlotConfig
product_summary: SummaryBarPlotConfig
selection_concentration: SelectionConcentrationPlotConfig
class sim_panel.analysis.types.ExportConfig(csv=True, json=True, markdown=True, overwrite=True)[source]

Bases: object

Controls artifact export.

Parameters:
  • csv (bool)

  • json (bool)

  • markdown (bool)

  • overwrite (bool)

csv: bool = True
json: bool = True
markdown: bool = True
overwrite: bool = True
class sim_panel.analysis.types.RegressionConfig(enabled=False, specs=<factory>, options=<factory>, save_results=True, output_subdir='regression')[source]

Bases: object

Controls optional regression analysis.

Parameters:
  • enabled (bool)

  • specs (List[RegressionSpec])

  • options (RegressionOptions)

  • save_results (bool)

  • output_subdir (str)

enabled: bool = False
specs: List[RegressionSpec]
options: RegressionOptions
save_results: bool = True
output_subdir: str = 'regression'
class sim_panel.analysis.types.AnalysisConfig(run_dir, output_dir, load=<factory>, summaries=<factory>, metrics=<factory>, plots=<factory>, export=<factory>, regression=<factory>)[source]

Bases: object

Normalized analysis configuration extracted from YAML.

Parameters:
run_dir: str
output_dir: str
load: LoadConfig
summaries: SummaryConfig
metrics: MetricConfig
plots: PlotConfig
export: ExportConfig
regression: RegressionConfig
class sim_panel.analysis.types.RunAnalysis(run_dir, output_dir, events, selection_rows, evaluation_rows, metadata, metadata_flat, personas=None, products=None, artifacts=<factory>)[source]

Bases: object

In-memory representation of a single analyzed run.

Notes

  • events contains all rows from events.jsonl.

  • selection_rows and evaluation_rows are split views for convenience.

  • personas / products are optional linked source artifacts resolved from metadata.

  • artifacts stores computed summaries / metrics / plot paths.

Parameters:
  • run_dir (str)

  • output_dir (str)

  • events (List[Dict[str, Any]])

  • selection_rows (List[Dict[str, Any]])

  • evaluation_rows (List[Dict[str, Any]])

  • metadata (Dict[str, Any])

  • metadata_flat (Dict[str, Any])

  • personas (List[Dict[str, Any]] | None)

  • products (List[Dict[str, Any]] | None)

  • artifacts (Dict[str, Any])

run_dir: str
output_dir: str
events: List[Dict[str, Any]]
selection_rows: List[Dict[str, Any]]
evaluation_rows: List[Dict[str, Any]]
metadata: Dict[str, Any]
metadata_flat: Dict[str, Any]
personas: List[Dict[str, Any]] | None = None
products: List[Dict[str, Any]] | None = None
artifacts: Dict[str, Any]