Start here

This path gets a new user from a clean Python environment to a visible result without requiring database credentials or an external fusion code. Public VEST data access is the optional second step.

1. Install VAFT from source

VAFT supports Python 3.10–3.13. Use a virtual environment and install the repository source:

git clone https://github.com/VEST-Tokamak/vaft.git
cd vaft
python -m pip install -e .

The declared dependencies include OMAS, IMAS-Python, plotting tools, Snakemake and h5pyd. NumPy 2 is the default numerical stack. The older PyPI package is retained for compatibility but is not the recommended installation route.

Development tooling

dev is the only optional-dependency group defined by the project:

python -m pip install -e ".[dev]"

2. Produce the first offline result

The packaged sample follows the same OMAS/IMAS paths as a VEST shot:

import matplotlib.pyplot as plt
import vaft

ods = vaft.omas.sample_ods()
print(sorted(ods.keys()))

vaft.plot.magnetics_time_ip(ods)
plt.show()

Seeing the plasma-current trace completes the credential-free first workflow. Continue with experimental interpretation or configure the public database below.

3. Configure read-only public HSDS access

Run hsconfigure and enter the endpoint plus credentials supplied by the VEST team. Credentials stay in the user configuration and must never be committed to a notebook or documentation asset.

>> hsconfigure
Enter new values or accept defaults in brackets with Enter.

Server endpoint []: http://147.46.36.244:5101
Username []: [assigned_username]
Password []: [assigned_password]
API Key [None]: 
Testing connection...
connection ok
Quit? (Y/N)Y

A successful read uses the public namespace and does not modify the database:

import vaft

with vaft.database.open(39915, source="public", paths="equilibrium") as ods:
    print(ods["equilibrium.time"])

Use vaft.database.open() for lazy exploratory reads and vaft.database.load() when a workflow needs a staged eager object. Remote saving is restricted to authorized operators; this workflow never calls vaft.database.save().

4. Optional external fusion codes

VAFT can prepare and collect inputs for EFIT, CHEASE, GPEC/DCON/RDCON and TES. Configure only the codes you have installed:

export EFITHOME=/path/to/efit
export CHEASEHOME=/path/to/chease
export GPECHOME=/path/to/gpec
export TESHOME=/path/to/tes

Each executable belongs under its root’s bin/ directory. The workflow guides degrade to deterministic input preparation when a binary is absent.

Expected outputs

  • Offline: a plasma-current plot from the packaged sample ODS.
  • HSDS: readable metadata or IDS paths for public shot 39915.
  • External codes: an explicit readiness report before any solver is launched.

results matching ""

    No results matching ""