Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
TokSearch framework for parallel processing of fusion data
Translation pending
DataPython · CGitHub @GA-FDPOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
TokSearch is a Python package for parallel retrieving, processing, and filtering of arbitrary-dimension fusion experimental data. TokSearch provides a high level API for extracting information from many shots, along with useful classes for low level data retrieval and manipulation.
The fundamental class in TokSearch is the
object takes a list of shots and, for each shot in the list, creates a dict-like object called a
object then provides methods for defining a sequence of processing steps to apply to each record. These processing steps include:Read the full README ↗TokSearch is a Python package for parallel retrieving, processing, and filtering of arbitrary-dimension fusion experimental data. TokSearch provides a high level API for extracting information from many shots, along with useful classes for low level data retrieval and manipulation.
The fundamental class in TokSearch is the Pipeline. A Pipeline object takes a list of shots and, for each shot in the list, creates a dict-like object called a Record. The Pipeline object then provides methods for defining a sequence of processing steps to apply to each record. These processing steps include:
map method.or...
fetch, fetch_dataset, align, keep, or discard.The Pipeline also provides a where method which takes as input a user-defined function that returns a boolean value. If the function evaluates to False for a record, then that record is removed from the pipeline.
TokSearch packages its own know-how as agent-readable skills: how to build a
pipeline, which signal class a quantity needs, how to align and aggregate.
There are two ways to use them, and both are first-class. Pick your agent
below, the built-in CLI or your own. Either way, run it through fdp.
toksearch chat is a REPL with an LLM behind it. It writes the pipeline code,
runs it against a persistent Python namespace, so follow-up turns iterate on
cached results instead of re-fetching. It shows you each block before executing
it.
toksearch chat # interactive REPL
toksearch chat --gui # local Gradio GUI in a browser tab
toksearch query "..." # one-shot, for scripts and quick lookups
toksearch backends # list the names --backend accepts here
you> Use run_python to fetch ipmhd for shot 165920 from efit01.
[run_python] Fetch ipmhd via MdsSignal.
pipeline = toksearch.Pipeline([165920])
pipeline.fetch('ip', toksearch.MdsSignal(r'\ipmhd', 'efit01'))
rec = list(pipeline.compute_serial())[0]
[output] (no output)
you> What's the peak |Ip| in MA?
[run_python] ...
[output] 1.1325
Backends: the Anthropic API, the OpenAI API, your Claude Max plan via the
Claude Agent SDK, or the American Science Cloud (AmSC) endpoint contributed by
toksearch_d3d.
If you already work in Claude Code, Cursor, or Codex, point it at the same material instead of switching tools. The skills install directly, and the same set is served over MCP by a standalone server:
fdp skills list # what's available, and what's installed
fdp skills install # → ~/.claude/skills
fdp skills install --backend cursor # or codex, or all; -f to overwrite
claude mcp add toksearch-skills -- fdp run python -m toksearch.llm.mcp
The server exposes every skill as a skill://<name> MCP resource plus a
read_skill tool, so any MCP-capable client can browse and read them.
fdpBoth paths are best used from an environment installed with the fdp-core
metapackage (the standard FDP install; see Installation),
through the fdp wrappers, which come with the device packages. fdp chat
and fdp query configure data access (XRootD transport, MDSplus tree paths,
bearer token) before the session starts, so the agent can actually reach shot
data; fdp skills installs the skill files, and on the Your own agent path
it is the fdp run in the claude mcp add line above that configures access.
fdp chat # interactive, FDP environment configured
fdp query "Fetch ip for shot 200000 and report the peak in MA."
See the LLM tutorial for an end-to-end walkthrough and the LLM Interface reference for the full API surface.
Nearly everyone should install TokSearch as part of the Fusion Data Platform,
through the fdp-core metapackage. That gets you TokSearch together with the
device packages (toksearch_d3d, toksearch_mast), ptdata, imas_composer,
the fdp CLI, the XRootD/Pelican transport that reaches DIII-D data, and the
toksearch_cmf provenance backend, all pinned to a tested, mutually
compatible set.
conda create -n fdp-installer -c ga-fdp -c conda-forge fdp-installer
conda activate fdp-installer
fdp-install -d /path/to/project
cd /path/to/project
pixi shell
fdp-install writes a pixi.toml that depends on fdp-core and runs
pixi install. Substitute mamba or micromamba for conda if you prefer;
the -n name is arbitrary.
| Flag | Effect |
|---|---|
-d, --directory | Where to install (default: the current directory) |
--latest | Depend on fdp-core-latest (>= floors, e.g. toksearch >=2.11.1) instead of fdp-core (exact == pins, e.g. toksearch ==2.11.1) |
--install-skills | Also install the agent skills to ~/.claude/skills/ |
Inside that environment, run your analysis through the fdp CLI so the
data-access environment is configured:
fdp run python my_pipeline.py
fdp run jupyter lab
If you want the framework without FDP data access, for your own MDSplus server
or Zarr stores or just the Pipeline machinery, install the package by itself:
conda install -c ga-fdp -c conda-forge toksearch
or into a fresh environment:
mamba create -n toksearch -c ga-fdp -c conda-forge toksearch
This does not give you DIII-D access: no toksearch_d3d, no fdp CLI, no
XRootD/Pelican transport.
TokSearch is not published on PyPI. We intend to provide a pip install in the future.
The repository is managed with pixi:
git clone https://github.com/GA-FDP/toksearch.git
cd toksearch
pixi install
pixi run build # editable install into the pixi environment
pixi run test # run the test suite
To build the documentation site locally:
pixi run -e docs docs-serve