Skip to content

Environment variables

OpenTernary

Variable Values Effect
OPENTERNARY_LANG en, ja Display language for help, tables and errors. Default: the OS locale. Falls back to en when the terminal cannot encode Japanese. Never affects --json.
OPENTERNARY_NO_TUI any non-empty value openternary with no arguments prints help instead of opening the TUI. openternary ui refuses.
OPENTERNARY_NO_UPDATE_CHECK any non-empty value Never check PyPI for a newer version automatically (in doctor and the TUI). update --check still works.
OPENTERNARY_STATE_DIR a folder Where the TUI keeps job records. Default: see below.
OPENTERNARY_GPU_ARCH e.g. gfx1201 Tell setup the gfx target of an AMD GPU it cannot identify.
OPENTERNARY_INDEX_PYTORCH URL Replace the PyTorch wheel index that setup reads (default https://download.pytorch.org/whl).
OPENTERNARY_INDEX_AMD URL Replace AMD's ROCm wheel index (default https://stable.repo.amd.com/rocm/whl-next).
OPENTERNARY_INDEX_PYPI URL Replace the PyPI index used by setup (default https://pypi.org/simple).
OPENTERNARY_REDUCED_MOTION any non-empty value Stop the spinning symbol in the TUI and the splash screen.
OPENTERNARY_SPIN cw, ccw Direction of the spinning symbol (default clockwise).
OPENTERNARY_BREAK_IS_INTERRUPT 1 Internal: set by the TUI for its child processes on Windows, so that Ctrl+Break is handled as an interrupt (exit code 130).
OPENTERNARY_VALIDATION_ROOT a folder Where scripts/validate_cli_offline.py writes its logs (default .tmp).

Standard variables OpenTernary respects

Variable Effect
NO_COLOR No colour in output.
NO_MOTION Same as OPENTERNARY_REDUCED_MOTION.
CI When set, openternary with no arguments never opens the TUI.
TERM=dumb Same: no TUI.
HF_HOME, HF_HUB_CACHE, HF_HUB_OFFLINE, … Hugging Face's own variables decide where models are cached. OpenTernary only reads that cache.
UV_CACHE_DIR and other UV_* Passed through to uv when setup and update run it.
LOCALAPPDATA (Windows), XDG_STATE_HOME, XDG_CACHE_HOME Base folders for the files below.

Research and debugging switches

These exist for the calibration research and its gate tests. They change behaviour in ways that make results unsuitable as evidence, so do not set them for normal use.

Variable Effect
OT_LIMIT_MODULES Calibrate only the first N target layers.
OT_SKIP_MATERIALIZE Skip writing the calibrated snapshot.
OT_FORCE_ROCM, OT_FORCE_GPU Simulate a GPU backend for testing device code paths.
OT_FORCE_LOW_BUDGET Force a tiny VRAM budget to exercise microbatch shrinking.

Files OpenTernary writes outside your project

What Windows Linux / macOS
Update-check cache (1 day) %LOCALAPPDATA%\openternary\update-check.json $XDG_CACHE_HOME/openternary/update-check.json (default ~/.cache/…)
TUI job records (newest 200 kept) %LOCALAPPDATA%\openternary\jobs\ $XDG_STATE_HOME/openternary/jobs/ (default ~/.local/state/…)
PyTorch setup record openternary-torch.json in the environment that runs openternary same

Everything else (runs, artifacts, events files) goes where you tell it to, by default under runs/ in the current folder.