IBEX is a general purpose graphical tool for exploring the content of IMAS structured data (IDS). It displays quantities as 1D or 2D plots — including slicing through higher-dimensionality datasets — and lets you interactively inspect, compare, and manipulate signals from one or more data entries. IBEX is expected to replace IMASViz (which is no longer maintained) and go beyond it.
Documentation: https://imas-ibex.readthedocs.io/
Frontend readme · Backend readme
- Python 3.9+
- Node.js >= 22.12
git clone <ibex_repo>
cd ibex/backend
python -m venv ibex_venv
source ibex_venv/bin/activate
pip install .
cd ../frontend
npm install
npm run package./out/ibex-linux-x64/ibexibex, launch.sh and launch-dev.sh all take the same options:
ibex [-h] [-v] [-c FILE [FILE ...] | -u URI [URI ...] [-n NAME] [-t TEMPLATE]]
-h, --help show this help and exit
-v, --version print the IBEX version and exit
-c, --config FILE... load one or more IbexState files, one configuration each
-u, --uri URI... open a new configuration containing these data entries
-n, --name NAME with --uri: name of the new configuration
(default: config, config-1, config-2, ...)
-t, --template TEMPLATE with --uri and --name: apply a template, given as a file
path or as a name from the template folders; the URIs
fill the template's URI-0, URI-1, ... in order
--config and --uri cannot be used together, since a state file already lists its
data entries. When either is given, the default configuration set in the preferences
is not loaded. --help also lists the templates installed with IBEX, which
--template takes by name.
./launch.sh -c runIbexState.json otherIbexState.json
./launch.sh -u "imas:hdf5?path=/path/to/entry1" "imas:hdf5?path=/path/to/entry2"
./launch.sh -u "imas:hdf5?path=/path/to/entry" -n kinetic -t PlotKineticProfiles git clone <ibex_repo>
cd ibex
# this script packs frontend and prepares site-packages with backend
./install.sh
# test if it runs successfully
./frontend/out/ibex-linux-x64/ibex
# first you have to install ibex as shown in step "Central installation on SDCC"
./<ibex_repo>/launch.sh
git clone <ibex_repo>
cd ibex
# this script creates venv, installs python package in editable mode and runs fronend
module load IMAS-Python IDStools nodejs
./launch-dev.sh
IBEX is under active development. Core exploration, plotting, and data manipulation workflows are functional, but important changes — including to the backend endpoint API — may still occur between releases. Expect fast iteration, and please report issues or gaps you encounter via GitHub Issues.
- Improve performance and reactivity
- UX friendliness
- Plots parametrization
- Use as a webapp (linked to SimDB-Dashboard)
Want to help? See CONTRIBUTING.md to get started.
