Installation
yasp-agent ships two commands — yasp (the agent shell) and yasp-toolkit. Install it into a project venv as shown below. To expose the commands on your PATH everywhere instead, advanced users can install globally with pipx.
Two machines
A yasp workflow spans two machines, and it matters which one you're on:
- Reference machine — your development box, where you install
yasp-agentand run everyyasp-toolkitcommand. It's the reference because the PyTorch model you author here is what the results are checked against. - Target machine — the GPU box the work runs on. It needs only Docker, the NVIDIA Container Toolkit, and SSH access from the reference machine — no
yasp-agentinstall. A containerized worker does the work there.
You drive everything from the reference machine; the one time you touch the target directly is to start the worker — over SSH, still from the reference machine.
The two can also be the same machine — a dGPU workstation where you develop and run the worker; just run the "over SSH" commands locally and skip the SSH setup.
Everything below sets up the reference machine.
Prerequisites
- Python 3.11 or 3.12
- A yasp API key — see Get your API Token.
- (for the
yaspshell only) the Claude Code CLI on yourPATH. - SSH access to the target machine, with Docker and the NVIDIA Container Toolkit installed there.
Get a registry key
Packages come from the private yasp registry. Exchange your API key for a long-lived (about 6 months) registry key:
export REGISTRY_KEY=$(curl -fsS -X POST \
-H "Authorization: Bearer $YASP_API_KEY" -G \
--data-urlencode "audience=nexus-api" \
--data-urlencode "scope=nexus-read" \
"https://compile.yasp.ai/api/token")
Once yasp-agent is installed
You no longer need the curl — mint the key with yasp-toolkit registry key, which reads your API key from YASP_API_KEY and prints a fresh key:
export REGISTRY_KEY=$(yasp-toolkit registry key)
This is the command the worker-deploy guides point back to.
Exchange failing, or no registry access?
If the request errors or you can't reach the registry, contact support@yasp.ai with the command output.
Install
Install yasp-agent into a project virtualenv. The commands are available whenever the venv is activated.
Create and activate the venv:
python3 -m venv .venv
source .venv/bin/activate
Install PyTorch first
yasp-agent depends on PyTorch.
These cover the common cases; the PyTorch getting-started page lists every variant and the exact --index-url for each. Pick one:
pip install --index-url https://download.pytorch.org/whl/cpu torch==2.9.1
pip install --index-url https://download.pytorch.org/whl/cu128 torch==2.9.1
Swap cu128 for the build matching your driver (cu126, cu128, cu130, …).
pip install --index-url https://download.pytorch.org/whl/rocm6.4 torch==2.9.1
Swap rocm6.4 for the ROCm build matching your install.
Lets pip choose — the CUDA build on Linux, CPU on macOS/Windows.
Linux hosts will default to NVIDIA dependencies.
pip install torch==2.9.1
Install yasp-agent
torch is already satisfied from the step above, so this won't pull a second build:
pip install \
--extra-index-url "https://token:${REGISTRY_KEY}@nexus.yasp.ai/repository/pypi-hosted/simple/" \
'yasp-agent[gaia,kronos]'
Note
The installation also exposes ytk as a short alias for yasp-toolkit.
Want the commands on your PATH everywhere?
Advanced users can install globally with pipx instead of a per-project venv — see Install globally with pipx.
Verify the installation:
yasp --help
yasp-toolkit --help
[Optional] Persist your API key
Every yasp-toolkit command reads your API key from the YASP_API_KEY environment variable. Rather than exporting it in each new shell, add it to your shell profile so it's always set:
echo "export YASP_API_KEY='yasp_...'" >> ~/.bashrc # or ~/.zshrc
Prefer your OS keyring?
Advanced users can store the key in the operating-system keyring instead of an environment variable — see Store your API key in the keyring.
[Optional] Widen table output
yasp-toolkit prints wide Rich tables (worker lists, verification metrics) that wrap and collapse at the default 80 columns. Set a wider width once so they stay on one line:
export COLUMNS=200 # or prepend per command: COLUMNS=200 yasp-toolkit …
[Optional] Update & uninstall
With the venv activated:
# update (re-mint the registry key first if yours expired)
export REGISTRY_KEY=$(yasp-toolkit registry key)
pip install --upgrade \
--extra-index-url "https://token:${REGISTRY_KEY}@nexus.yasp.ai/repository/pypi-hosted/simple/" \
'yasp-agent[gaia,kronos]' # pin with 'yasp-agent[gaia,kronos]==X.Y.Z'
# uninstall
pip uninstall yasp-agent
Where to next?
- Compile your first model — start a runner on the target machine, then prepare, compile, and verify.
- Generate your first kernel — start an eval runner, then export, generate, and inspect an optimized GPU kernel.