How execution works
1
Files are already local
The experiment’s files are placed in the script’s working directory before it runs. Open them with plain relative paths —
pd.read_csv("data.csv"), h5py.File("data.h5") — no download step, no experiment ID plumbing.2
Declare dependencies in a header comment
pip installs these before running your script; already-installed packages are cached, so repeat runs are fast.3
Log what you want kept
Call
braven.log_config, braven.log_summary, braven.log_series, braven.plot_series, or braven.upload as many times as you like — see the full reference for every helper.4
Everything is written at the end
Nothing is saved incrementally while the script runs. A Run’s output — Config, Summary, Series, Figures — is written wholesale when it finishes, and fully replaces that pipeline’s previous output for the experiment. There’s no partial/incremental state to reason about.
Both plain
.py scripts and .ipynb notebooks (via papermill) are supported as pipelines.Minimal pipeline
What’s available at a glance
Assigning a script to run automatically
Write and edit the script under a project’s Pipelines tab, then assign it to a watched folder (Pipelines → Watch Folders → Assign pipeline) — see Ingest data. Every new experiment in that folder then runs it automatically; watch progress in the Activity tab, and re-run any past execution from the pipeline’s detail view.Continue
Full function reference
Every pipeline helper, with full signatures and edge cases.
Tag a device from your script
braven.device(key) is the recommended way to link a device — no manual step after the run.