Building HiPlot from source

Quick commands

# Install default contributor dependencies (dev/test)
uv sync

# Run Python tests
uv run pytest

# Build docs (docs deps are resolved on-demand)
uv run --no-default-groups --group docs sphinx-build -b html docs docs/_build/html

Python developer setup

It is not necessary to build the Javascript bundle when developing the python side of HiPlot. However, the generated bundle (hiplot/static/built/hiplot.bundle.js) is not provided in the git repository. The easiest solution is to download the latest version generated by the CI: hiplot.bundle.js

Building Javascript bundle

HiPlot’s frontend is built with React in TypeScript. Those files need to be compiled and bundled into plain Javascript to generate hiplot.bundle.js. Bun is required in order to build those files.

# First, install frontend packages
bun install
# Build in release mode (for better performance)
bun run build
# For frontend dev server (optional)
bun run vite:dev

It’s also recommended to run a HiPlot server locally to experiment:

uv pip install -e .
uv run hiplot --dev

Now open your browser and play with the code :)

Warning

Do not forget to refresh the page and clear the cache when changing javascript files (for Chrome: CMD+SHIFT+R on MacOS, or CTRL+SHIFT+R on Windows).

Building documentation

uv run --no-default-groups --group docs sphinx-build -b html docs docs/_build/html