Workflow Examples
A workflow is Odatix without the hardware: a directory of sources, a list of commands to run, and a way to read numbers out of whatever those commands produce. Same sweeps, same parallel job monitor, same result files and same Explorer — but the thing being swept is a script rather than a design.
The nine shipped examples use throwaway Python — a string manipulator, a traffic model, a BER curve, a small neural network — because the interesting part is never the script. Each one isolates one workflow mechanism.
What these examples demonstrate
- Task graphs —
dependenciesbetween named tasks, and amainentry point. - Platform-specific tasks — the same task name implemented once for Linux/macOS and once for PowerShell.
- Command placeholders —
${name}in a command, filled from a configuration, a parameter domain, or a variable. - Virtual parameter domains — sweeps declared as variables, with no directory behind them.
- Paired variables — values zipped together instead of cross-combined, so two parameters move as one.
- Metrics from JSON, CSV and regex — and
operationmetrics computed from the others. - Multi-row metrics — one run producing many result records, one per row of a CSV.
- Environment bootstrapping — a task that builds a virtualenv, with a fallback if it fails.
Table of Contents
The examples
Basic
Task dependencies, progress reported from several steps, substitution into a source file, and regex metrics.
Read the example
Crossplatform
One task name, two implementations — Linux/macOS and PowerShell — with exactly one selected at run time.
Read the example
CLI Profile
A command placeholder filled with the content of the selected configuration file, with nothing written into any source.
Read the example
Parameter domains on the command line
Four independent parameter domains, four placeholders in one command, sixteen runs.
Read the example
Parameter domains as variables
The same sweep declared as virtual parameter domains — twenty lines of YAML and not one configuration file.
Read the example
Paired variables
Two variables describing the same scenario, zipped together with a
Read the example
group label instead of cross-combined.Parameter domains in a JSON file
A script driven by a configuration file instead of flags — each domain substitutes its value into the JSON.
Read the example
Metric sweep
One run, many result rows: multi-row CSV metrics,
Read the example
metadata to tell them apart, and operation metrics per row.TensorFlow training
A generated sweep over epochs, a dependency task that bootstraps a virtualenv once, and
Read the example
on_failure_commands.At a glance
| Workflow | Isolates | Sources |
|---|---|---|
basic |
task dependencies, source substitution, regex metrics | workflow_simple |
crossplatform |
platform-specific task implementations | workflow_simple |
cli_profile |
placeholders filled from the workflow configuration | workflow_cli_profile |
param_domains_cli |
parameter domains into command placeholders | workflow_param_domains_cli |
param_domains_cli_variables |
the same, as virtual domains | workflow_param_domains_cli |
param_domains_paired_variables |
paired (grouped) variables | workflow_param_domains_cli |
param_domains_json |
substitution into a config file instead of a command | workflow_param_domains_json |
metric_sweep |
multi-row metrics, operation metrics, metadata |
workflow_metric_sweep |
tensorflow |
environment bootstrapping, on_failure_commands |
workflow_tensorflow |
Running them
Tutorials
Step-by-step instructions to run the examples, and understand how Odatix works.
Browse the tutorials