Skip to content

Configuration Reference

Single-source reference for config.yaml files used by the CLI and Experiment.from_yaml.

KeyTypeRequiredDefaultDescription
namestringNoFolder nameHuman-friendly experiment name shown in the CLI and used for artifact paths.
descriptionstringNo""Freeform description surfaced in the CLI panels.
replicatesintegerNo1Number of replicates to run for each condition.
stepslistYesOrdered list of step factory names from steps.py. Entries can be strings or {factory: {param: value}} mappings.
datasourcemapping or list of mappingsYesDefines input aliases. Each alias maps to a factory in datasources.py or a DAG reference (see below).
outputsmappingNo{}Declares artifacts and optional loaders/writers from outputs.py.
treatmentsmappingNo{}Treatment name → parameter dict applied to the context.
hypotheseslistNo[]Hypothesis objects built from verifiers.py entries.
climappingNo{}CLI metadata for grouping, icons, and ordering.
KeyTypeRequiredDefaultDescription
groupstringNo"Graphs" for DAGs, "Experiments" otherwiseSidebar grouping label.
priorityintegerNo999Sort order within a group (lower = higher).
iconstring (emoji/char)No📈 for DAGs, 🧪 otherwiseIcon shown in the CLI tree.
colorstring (hex)NonullOptional accent color for the CLI label.
hiddenbooleanNofalseIf true, the experiment/graph is omitted from discovery.

Each entry maps an alias to one of:

  • A factory name from datasources.py: data: load_data.
  • A DAG reference to an upstream artifact: summary: "experiment_a#summary".

Aliases defined as a list of single-item mappings are merged, which lets you spread datasource declarations across files when needed.

Declare artifacts produced by steps so downstream nodes and the CLI know how to read/write them.

FieldTypeRequiredDefaultDescription
file_namestringNoAlias nameFile name to write under the step directory.
writerstringNonullFunction name in outputs.py that receives (data, path) and writes bytes.
loaderstringNonullFunction name in outputs.py that reads the artifact back in.

Example:

outputs:
summary:
file_name: summary.json
writer: dump_json
loader: load_json

Map treatment names to context parameters. Treatments inherit by name in DAGs; downstream selections activate same-named upstream treatments automatically.

treatments:
high_lr:
lr: 0.05
dropout:
rate: 0.2

Each list item builds a Hypothesis using factories from verifiers.py.

FieldTypeRequiredDescription
namestringRecommendedDisplay name for the hypothesis; defaults to the verifier/ranker name if omitted.
verifierstringYesFactory name in verifiers.py that returns a verifier callable.
metricsstring or listYesMetric key or keys to pass into the verifier (single string or list of groups).

Example:

hypotheses:
- name: ttest_accuracy
verifier: two_sample_ttest
metrics: ["accuracy"]