Skip to content

Installation

Prerequisites

  • Python 3.12+
  • Rust toolchain (for the native Arrow IPC extension)
  • Node.js 25+ (only if building the frontend from source)

Docker (Easiest)

No local toolchain required:

docker compose up -d --build

Open http://localhost:8765 in your browser.

From Source

1. Install dependencies and build the Rust extension

uv sync

This installs all Python dependencies and compiles the Rust extension via maturin.

2. Build the frontend (optional)

If you want the notebook UI served by the backend:

cd frontend
npm ci
npm run build
cd ..

The server auto-detects frontend/dist/ and serves it.

3. Start the server

uv run strata-server

Or equivalently:

uv run python -m strata

The server starts on port 8765 by default. Open http://localhost:8765.

Verify

curl http://localhost:8765/health
# {"status":"ok"}

Development Commands

# Run all tests
uv run pytest

# Format and lint
pre-commit run --all-files

# Type check
uv run ty check src/

# Start frontend dev server (hot reload, proxies to backend)
cd frontend && npm run dev