This project uses Python + JavaScript tooling:
- Python: managed with
uv - Node: from
.nvmrc(v24) - pnpm: pinned to
10.30.1via Corepack
corepack enable
corepack prepare [email protected] --activate
pnpm install --frozen-lockfile
uv sync --group dev --group testRun the example notebook:
uv run jupyter lab example.ipynbTo rebuild frontend assets while editing js/:
pnpm devRun the main local quality gate:
uv run ruff check .
uv run ruff format --check .
uv run ty check .
pnpm format:check
pnpm lint
pnpm typecheck
pnpm build
uv run pytest -q -m "not e2e"Run browser e2e separately:
uv sync --all-groups
uv run playwright install chromium
uv run pytest -q -m e2e