An open source, interactive annotation platform for Tokamak diagnostic data.
TokTagger is a web-based platform for curating labeled datasets from tokamak diagnostics. It lets users browse shots, inspect signals and images, apply consistent labels, and manage annotations in one place. The Python API and React UI support local or team workflows, making it straightforward to create datasets for downstream analysis and machine-learning models.
It currently supports the following features:
- Data Browsing: Explore tokamak shots, signals, and images through an intuitive interface.
- Annotation Tools: Apply consistent labels to signals and images using a customizable tagging system.
- ML Models: Train and infer from ML models within the UI.
- Dataset Management: Organize and manage annotations in a central repository.
- Extensible API: A Python API for integrating with existing workflows and tools.
To run the application locally:
To install the package via pip (or similarly via Poetry or uv package managers):
python -m venv .venv
source .venv/bin/activateTo install the package for labelling only (without ML Model functionality):
GIT_LFS_SKIP_SMUDGE=1 pip install git+ssh://git@github.com/ukaea/toktagger.gitOr to include the ML models:
GIT_LFS_SKIP_SMUDGE=1 pip install git+ssh://git@github.com/ukaea/toktagger.git#egg=toktagger[models]If you intend to add custom data loaders or models to your TokTagger instance, this is the recommended route.
Alternatively, it can be installed as a tool using uv. To install the package for labelling only (without ML Model functionality):
GIT_LFS_SKIP_SMUDGE=1 uv tool install --lfs --python 3.12.6 git+ssh://git@github.com/ukaea/toktagger.git`Or to include the ML models:
GIT_LFS_SKIP_SMUDGE=1 uv tool install --lfs --python 3.12.6 git+ssh://git@github.com/ukaea/toktagger.git#egg=toktagger[models]`To get started, run:
toktaggerThis will start a local instance of the application running at http://localhost:8002.
