Fusion Data Platform Installation
There are two ways to install the Fusion Data Platform:
- Method 1: the
fdp-coreconda package puts the whole FDP stack in one environment. Quickest for interactive analysis or a shared environment. - Method 2: the installer bootstraps a self-contained, pixi-based project directory. Use it when you want a per-project environment whose
pixi.tomlyou can commit and share.
Both pull the same blessed set of packages from the ga-fdp channel. You can substitute mamba or micromamba for conda below.
Method 1: conda package
Install the fdp-core metapackage directly into a new environment:
This gives you the full data-access stack (DIII-D and MAST/MAST-U signal classes, MDSplus/IMAS access) and the fdp command-line tool. It also gives you fdp-install, since fdp-installer is itself part of fdp-core, which is handy for spinning up pixi projects later (see Method 2).
Two flavors are available:
fdp-core, the stable, exact-pinned set. Recommended.fdp-core-latest, a rolling set tracking the newest compatible versions:
Method 2: the installer
The installer creates a pixi-managed project directory. First install the fdp-installer conda package and then run the fdp-install script:
conda create -c ga-fdp -c conda-forge -n fdp-installer fdp-installer
conda activate fdp-installer # or whatever you named the environment
Install into the current directory:
...or a specific directory:
The installer will:
- Create the specified directory if it doesn't exist
- Write a
pixi.tomlthat depends on thefdp-coremetapackage - Install all dependencies with pixi
- Print how to activate the environment and select a tokamak
To activate the environment afterward:
Tip: you don't need a separate installer environment. Since
fdp-installships insidefdp-core, you can runfdp-install -d /path/to/projectfrom a Method 1 environment to scaffold new pixi projects.
Optional add-ons
By default fdp-install deploys the stable fdp-core set. A few opt-in flags are available:
fdp-install --latest # track fdp-core-latest (newest compatible versions)
fdp-install --install-skills # also install the AI-assistant skills to ~/.claude/skills
fdp-install --with-labeler # add ga-dfl-labeler
These may be combined, e.g. fdp-install -d /path/to/project --latest.
Note: the CMF provenance layer used to need an opt-in
--with-cmfflag, becauseml-metadatawas pip-only. Bothcmflibandtoksearch_cmfare now conda packages and ordinary members offdp-core, so provenance ships by default and the flag is gone. See Provenance and CMF.
Choosing a tokamak
fdp-core is multi-device: it provides data access for both DIII-D (d3d) and MAST/MAST-U (mast) regardless of which install method you used. Python signal usage (e.g. from toksearch_d3d import PtDataSignal, from toksearch_mast import MastSignal) works without any extra configuration.
Most fdp commands need no device selection at all:
fdp envandfdp runcompose the environments of all installed devices. Their variables are disjoint, so the union is well-defined. If two devices ever set the same variable differently,fdpnames the conflicting variable and asks you to choose.fdp lsuses the device that has an origin server.fdp login/fdp logoutuse the device that requires a bearer token.
When you do want to pin one explicitly, in increasing order of persistence:
# Per command (either side of the subcommand):
fdp --device d3d run python my_script.py
fdp run --device d3d python my_script.py
fdp ls -D d3d /archives
# For the whole shell session:
export FDP_DEFAULT_DEVICE=d3d
# Persistently:
fdp device use d3d # records it in ~/.fdp/config.toml
fdp device use --clear # undo
fdp device list shows each installed device and what it can do. Substitute
mast for d3d to work with MAST/MAST-U.