EvSys

runner

run_experiment - orchestrates a single ExperimentConfig end-to-end.

Sequence per RunConfig:

  1. Build data store + log store from ExperimentConfig top-level specs.
  2. Read raw rows from data.source.
  3. Apply transforms in order.
  4. Build backend; backend.prepare(model=..., run_dir=...).
  5. Build algorithm from registry + run.algorithm.params; instantiate.
  6. algorithm.train(RunContext) -> RunResult.
  7. backend.teardown(handles).
  8. Run eval if enabled. (Eval is best-effort; a failure here doesn't kill the run.)
  9. Persist run_result.json.

Returns a list[RunResult] (one per run in the experiment).

attributelogger
= logging.getLogger(__name__)
func_build_from_spec(getter, spec) -> Any
paramgetter
paramspec

Returns

typing.Any
func_load_rows(data, data_store) -> list[dict[str, Any]]
paramdataDataConfig
paramdata_store

Returns

list[dict[str, typing.Any]]
func_apply_transforms(rows, data) -> list[dict[str, Any]]
paramrowslist[dict[str, Any]]
paramdataDataConfig

Returns

list[dict[str, typing.Any]]
func_persist_result(run_dir, result, hparams) -> None
paramrun_dirPath
paramresultRunResult
paramhparamsdict[str, Any]

Returns

None
func_execute_run(*, cfg, run, base_output_dir, extra_context=None) -> RunResult
paramcfgExperimentConfig
paramrunRunConfig
parambase_output_dirPath
paramextra_contextdict[str, Any] | None
= None

Returns

evsys_sdk.protocols.RunResult
funcrun_experiment(cfg_or_path, *, extra_context=None) -> list[RunResult]

Run an experiment from a parsed config or YAML file.

extra_context is merged into each run's RunContext.extras - used by Experiment to pass the dashboard store + dashboard_run_id so in-loop validation can upload its rollouts.

paramcfg_or_path
paramextra_contextdict[str, Any] | None
= None

Returns

list[evsys_sdk.protocols.RunResult]