Skip to main content
A pipeline script is ordinary Python that Braven runs for you, once per Experiment, against that experiment’s files. This page covers how execution works; for the full function-by-function reference see Pipeline scripts (SDK reference).

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

Must appear in the leading comment block, before the first real line of code. Braven 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

braven.log() and braven.log_plot() (Plotly) are removed. Older stored scripts that still call them raise a clear error with migration guidance — use log_config/log_summary and braven.upload(fig, name) with a matplotlib Figure instead.

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.