Available on the VS Code Marketplace · v1.0.0

Simulation campaigns, without leaving VS Code

Describe a parameter study in one table. csauto generates every case from your template, runs them locally or on Slurm, and follows convergence, errors and timings in a dashboard inside your editor. For code_saturne and code_aster.

The csauto Campaigns view and dashboard in VS Code

From an empty folder to running cases in three steps

  1. Step 1

    Create

    New Campaign walks you through it: pick a solver, start from its ready-to-run example or from your own files, fill the parameter table, choose the runtime and the solver version.

  2. Step 2

    Run

    csauto generates one case per row, then runs them natively, in Docker, with Singularity or on Slurm. Local runs are throttled to what your machine can take.

  3. Step 3

    Follow

    The dashboard opens in an editor tab and tells you when cases finish or fail. Restart from a checkpoint or steer a running case from the same place.

Everything happens in your editor

New Campaign wizard

One page for the solver, the starting point, one file picker per solver input and the parameter table written to doe.csv. A case folder is checked as soon as you pick it.

Dashboard in the editor

Embedded in a webview that follows your editor theme. Works over Remote-SSH on HPC clusters and in WSL through automatic port forwarding.

Several campaigns at once

The Campaigns view lists each campaign with its solver version and a Dashboard button. Each one gets its own server and its own tab, side by side.

Run notifications

Get notified when cases finish or fail, even when the dashboard tab is in the background.

Managed runtime

The extension creates a private Python environment and installs a version-matched csauto. No manual install, no conflict with your own packages.

Solver versions on tap

Pick an installed Docker image, any tag from Docker Hub (downloaded on the spot), a native executable or a .sif image, per campaign.

Follow every case from one dashboard

Status and control
Status and controlEvery case in one table with its parameters, state, iteration and duration. Run, kill and clean from a selection, add notes, filter by any column.
Errors and warnings
Errors and warningsThe logs of all cases are scanned for you. Anomalies are grouped by severity, file and case, with the surrounding lines.
Live log tail
Live log tailFollow the solver log of any case as it runs, filtered by severity or text, without opening a terminal.
Compare cases
Compare casesInput files side by side, with only the parameters that differ highlighted, to tie a result back to its cause.
code_saturne

More for code_saturne campaigns

For code_saturne, the dashboard also reads the solver's own outputs, and can steer a case while it runs.

Interactive residuals
Interactive residualsEvery case and variable on one log plot. Hover for values, zoom into the tail, toggle series, see every restart, export a PNG.
Probes and profiles
Probes and profilesCompare probe signals and profile data across the whole parameter study on a shared axis.

Timing snapshot

Elapsed time, linear solver and gradient time per case, from the solver logs.

Checkpoint and restart

Restart any case from its last checkpoint with one click.

Live control

Stop gracefully, extend the run or write a checkpoint while a case is running.

Two solvers, each one an adapter

Another solver is one adapter class that the CLI and the dashboard read everything from. Read the guide.

The engine behind the dashboard

Parameter study generator

Write doe.csv by hand or generate it from a TOML spec: factorial, Latin Hypercube, Sobol or central composite sampling.

Templates with placeholders

One template case with {placeholders} and conditionals becomes as many fully resolved cases as there are rows.

Local, Docker, Singularity, Slurm

Runtime auto-detection, a built-in Slurm submission and status tracking through squeue.

Compare and clean up

Compare the inputs of any two cases, keep notes per case, and clean results or whole cases from the dashboard.

A real CLI

Everything the extension does is a command, for CI, scripts and machines without VS Code.

Light by design

The core CLI is pure Python standard library. The dashboard only adds FastAPI and uvicorn.

Install csauto

Recommended

VS Code extension

Install it from the Marketplace, then click the csauto icon in the activity bar and choose New Campaign…. It works the same over Remote-SSH and in WSL.

Install from the Marketplace

Or from a terminal:

code --install-extension simvia.csauto

Needs Python 3.11+ on the machine. Windows through WSL. For an offline machine, download a .vsix from the releases page.

Headless and HPC

CLI and browser dashboard

One line installs the latest release with its own virtual environment and a shell alias:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/simvia-tech/csauto/main/install.sh)"

Then, from a folder with your parameter table and template:

csauto prepare doe.csv TEMPLATE RUNS
csauto doctor RUNS
csauto serve RUNS

Frequently asked questions

What is csauto?

An open-source tool (VS Code extension plus Python CLI) that automates simulation campaigns for code_saturne and code_aster. It generates cases from a parameter table and a template, runs them locally or on Slurm, and follows residuals, probes, errors and timings in a dashboard.

Do I need VS Code?

No. The extension is the primary interface and embeds the dashboard in the editor, also over Remote-SSH on HPC clusters. On machines without VS Code, the same dashboard runs in your browser with csauto serve, and every step is available from the CLI.

Which solvers are supported?

code_saturne and code_aster. Each solver is one adapter class that the CLI and the dashboard read everything solver-specific from, so adding another is a contained job (see the guide in the docs).

Where do my simulations run?

On your machine with the native solver, a Docker image or a Singularity/Apptainer image, or on a cluster through Slurm (sbatch, squeue). Local runs are capped to what the machine can take, and you can set the maximum number of parallel cases.

Can I stop or extend a running case?

For code_saturne, yes: stop gracefully, extend the run or write a checkpoint while it runs, then restart any case from its last checkpoint. No kill, no start from scratch.

What do I need installed?

The extension manages its own Python environment, so you need Python 3.11+ on the machine and a solver runtime (native binary, Docker or Singularity). The core CLI uses only the Python standard library; the dashboard adds FastAPI and uvicorn.