resonance

A Python beamline control toolkit for ALS-RSOXS workflows with typed device access, DataFrame-driven scans, and MCP integration.

Installation

Install with uv:

uv sync --all-groups

Include optional beamline control dependencies:

uv sync --all-groups --group bcs

Quick Start

from resonance.api import Beamline, ScanPlan

bl = await Beamline.create()
plan = ScanPlan.from_dataframe(scan_df, ai_channels=["Photodiode"])
results = await bl.scan_from_dataframe(plan, progress=True)

Team and support

Development

Prerequisites

  • Python 3.13+
  • uv

Setup

git clone https://github.com/ALS-RSOXS/auto-reflect.git
cd auto-reflect
uv sync --all-groups

Quality checks

make lint
make type-check
make test

Build docs

make docs