Configuration

class sim_panel.config.RunBundle(generator, panelists, products, config_snapshot, run_config)[source]

Bases: object

Fully built, ready-to-run bundle.

Parameters:
generator: EventGenerator
panelists: List[Panelist]
products: List[Product]
config_snapshot: Dict[str, Any]
run_config: RunConfig
class sim_panel.config.RunConfig(generator, personas_path, products_path, persona_variant='default', product_variant='default', output_dir=None)[source]

Bases: object

Normalized run configuration extracted from YAML. Note: YAML is the source of truth; this is a convenience snapshot.

Parameters:
  • generator (GeneratorConfig)

  • personas_path (str)

  • products_path (str)

  • persona_variant (str)

  • product_variant (str)

  • output_dir (str | None)

generator: GeneratorConfig
personas_path: str
products_path: str
persona_variant: str = 'default'
product_variant: str = 'default'
output_dir: str | None = None
sim_panel.config.build_run_from_yaml(path)[source]
Return type:

RunBundle

Parameters:

path (str)

sim_panel.config.build_run_from_dict(d, *, config_path=None)[source]

Build a complete run bundle from a YAML-parsed dict.

Return type:

RunBundle

Parameters:
  • d (Mapping[str, Any])

  • config_path (str | None)

Required YAML sections:
panelists:

source: path/to/personas.jsonl variant: default enrich: (optional)

products:

source: path/to/products.jsonl variant: default enrich: (optional)

policy:

name: random | manual | self_selection

Optional sections:

generator, selection, execution, outcomes_model, questionnaire, backend, output_dir

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

Dict[str, Any]

Parameters:

path (str)

sim_panel.config.build.build_run_from_yaml(path)[source]
Return type:

RunBundle

Parameters:

path (str)

sim_panel.config.build.build_run_from_dict(d, *, config_path=None)[source]

Build a complete run bundle from a YAML-parsed dict.

Return type:

RunBundle

Parameters:
  • d (Mapping[str, Any])

  • config_path (str | None)

Required YAML sections:
panelists:

source: path/to/personas.jsonl variant: default enrich: (optional)

products:

source: path/to/products.jsonl variant: default enrich: (optional)

policy:

name: random | manual | self_selection

Optional sections:

generator, selection, execution, outcomes_model, questionnaire, backend, output_dir

sim_panel.config.yaml_loader.load_yaml(path)[source]
Return type:

Dict[str, Any]

Parameters:

path (str)