Installation¶
NuBoard needs Python 3.10 or newer on Linux, macOS or Windows. One install
gives the logging API, the viewer (nuboard up) and the analysis API, with
NumPy, PyArrow, Starlette and uvicorn. Logging from a training script uses only
the standard library, so it never imports them.
From PyPI¶
The package comes with the viewer already built inside it, so installing it needs no Node.js:
pip install nuboard
uv pip install nuboard # into the current environment
uv add nuboard # or as a dependency of a uv project
uv tool install nuboard # or only the nuboard command, in its own environment
Install it in the environment your training scripts run in, so they can
import nuboard.
To try the demo without installing anything into an environment of yours:
pipx run nuboard demo demo-runs --up --open
uvx nuboard demo demo-runs --up --open
To upgrade later:
pip install -U nuboard
uv pip install -U nuboard # uv add nuboard --upgrade-package nuboard, or uv tool upgrade nuboard
From source¶
Building from the repository also builds the viewer, which needs Node.js 20 or newer and pnpm.
python -m venv .venv && . .venv/bin/activate
pip install -e . --group dev # pip 25.1 or newer; else: pip install -e .
(cd frontend && pnpm install && pnpm build) # writes src/nuboard/static/
nuboard demo demo-runs --up --open
uv sync # Python, its dependencies and dev tools
(cd frontend && pnpm install && pnpm build) # writes src/nuboard/static/
uv run nuboard demo demo-runs --up --open
uv build (or python -m build) produces a wheel and runs the frontend build
for you when src/nuboard/static/ is missing.
pnpm: command not found
Install pnpm once. On macOS with Homebrew:
brew install pnpm # also: brew install node, if node is missing
Elsewhere, npm install -g pnpm works, and so does corepack enable pnpm
on Node versions that still ship corepack (Node 25 dropped it).
ERR_PNPM_IGNORED_BUILDS from pnpm install
pnpm only runs install scripts for packages it is told to trust. The
repository approves esbuild and @tailwindcss/oxide in
frontend/pnpm-workspace.yaml, which pnpm 10 and 11 both read. If you
see this error with an older checkout, run pnpm approve-builds once and
select both packages.
Check the install¶
$ nuboard version
nuboard 0.24.1
$ python -c "import nuboard; print(nuboard.__version__)"
0.24.1
Next, the Quickstart runs the demo and logs a first run.