Skip to main content

Sidecar analytics framework for real-time RHEED monitoring

Project description

RHEED Real-Time Analyzer

Python sidecar framework for real-time RHEED analytics in a TSST-centered PLD workflow.

Scope

  • Keeps TSST as authoritative control and safety gate.
  • Runs independent analytics and policy logic.
  • Starts in advisory mode, with closed-loop hooks for later bounded control.

Installation

Option A: Conda environment (recommended)

conda create -n rheed-rt python=3.11 -y
conda activate rheed-rt
pip install -r requirements.txt
pip install -e .

Option B: Dev environment (tests + notebook + publishing tools)

conda create -n rheed-rt-dev python=3.11 -y
conda activate rheed-rt-dev
pip install -r requirements-dev.txt
pip install -e .[dev]

Quick Start

Run a short dummy sidecar session:

rheed-sidecar --duration 10

This writes JSONL events to logs/events.jsonl by default.

Test

pytest -q

Detailed test and demo notes are in tests/README.md.

Build And Publish

Detailed release instructions are in docs/PUBLISHING.md.

Automated release via GitHub Actions

This repo includes .github/workflows/main.yml with keyword-triggered release on pushes to main:

  • #major -> bump X.0.0
  • #minor -> bump x.Y.0
  • #patch -> bump x.y.Z

Example commit message:

feat: add TSST adapter #major

When triggered, the workflow will:

  1. bump versions in pyproject.toml and rheed_core/__init__.py
  2. create/push a release commit and vX.Y.Z tag
  3. build and publish to PyPI using pypa/gh-action-pypi-publish

Note: configure PyPI Trusted Publishing for this repository/workflow before first automated release.

Local package build check

python -m build
twine check dist/*

Current Capabilities

  • Dummy real-time collector with noisy oscillatory intensity and synthetic image frames.
  • Rolling preprocessing + feature extraction (signal + image proxies).
  • Oscillation tracker with period/phase/amplitude/confidence estimation.
  • Draft-integrated cycle analysis (peak segmentation + per-cycle relaxation tau estimate).
  • Offline reusable analysis pipeline adapted from draft code:
    • range selection
    • denoise chain
    • peak-to-peak cycle splitting
    • tail/background cleanup
    • per-cycle relaxation fitting
  • Advisory-first policy engine for drift, frame quality, period instability, and amplitude decay.
  • Replayable JSONL event logging.

Draft Integration

Legacy analysis ideas from rheed_core/core/draft codes/ are bridged into the runtime path through:

  • rheed_core/core/draft_bridge.py: FFT band-pass, median filtering, peak detection, cycle segmentation, and linearized tau fitting.
  • rheed_core/core/preprocess.py: optional median + FFT filtering in streaming mode.
  • rheed_core/core/features.py: Gaussian-moment-like image spread and drift estimation.
  • rheed_core/core/state.py: latest cycle relaxation-time tracking.
  • rheed_core/core/policy.py: advisory on unstable relaxation-time behavior.

Notebook Demos

  • tests/demo_draft_bridge.ipynb: draft-derived signal processing + tau fitting utilities.
  • tests/demo_pipeline_integration.ipynb: end-to-end sidecar usage with draft-aware config.
  • tests/demo_offline_analysis.ipynb: second-pass offline flow mirroring real draft workflow.

Project Layout

rheed_core/
  main.py
  config.yaml
  core/
  io/
tests/
docs/

Roadmap

  1. Replace dummy collector with TSST stream adapter.
  2. Validate feature/state outputs against recorded experimental datasets.
  3. Introduce bounded command outputs behind explicit safety constraints.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rheed_realtime_analyzer-0.2.0.tar.gz (63.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rheed_realtime_analyzer-0.2.0-py3-none-any.whl (70.8 kB view details)

Uploaded Python 3

File details

Details for the file rheed_realtime_analyzer-0.2.0.tar.gz.

File metadata

  • Download URL: rheed_realtime_analyzer-0.2.0.tar.gz
  • Upload date:
  • Size: 63.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rheed_realtime_analyzer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7409d7e2bb510c75283e92fee223652a50155a4e24f7fc22b375b3913fad3938
MD5 ab9246b338c83cdab9dffe7e895b77d0
BLAKE2b-256 f0a7aef20a22614e509ac14de233b5487f26918826ed1cade19e9212f8c41355

See more details on using hashes here.

Provenance

The following attestation bundles were made for rheed_realtime_analyzer-0.2.0.tar.gz:

Publisher: main.yml on yig319/rheed-realtime-analyzer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rheed_realtime_analyzer-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rheed_realtime_analyzer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c06474ca7a55bfb309b52e44a86c388ae5dfb344b7b8e3825f0952be16f1fbdb
MD5 4775f2ebf3de2f431bd37ccb8de2571d
BLAKE2b-256 55170139cb1dc4d7185c2753a6b323ae316d85803abd427e75ebbb791be65639

See more details on using hashes here.

Provenance

The following attestation bundles were made for rheed_realtime_analyzer-0.2.0-py3-none-any.whl:

Publisher: main.yml on yig319/rheed-realtime-analyzer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page