Installation

Requirements

  • uv for package and dependency management

  • Python 3.13 or newer

Basic installation

From the project root:

uv sync --all-groups

This installs the core package and dev tools (pytest, ruff, ty).

Optional: BCS (beamline control)

To use the Beamline API and hardware control, install the optional BCS group:

uv sync --all-groups --group bcs

Verifying installation

Run lint, format-check, and type-check:

make verify

Run tests:

make test

For development

Install pre-commit hooks so lint and format run before each commit:

pre-commit install

See the API Reference section (e.g. Beamline and Connection, Scan plans and execution) for the full API. For a minimal usage example, see Quick start.