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-> bumpX.0.0#minor-> bumpx.Y.0#patch-> bumpx.y.Z
Example commit message:
feat: add TSST adapter #major
When triggered, the workflow will:
- bump versions in
pyproject.tomlandrheed_core/__init__.py - create/push a release commit and
vX.Y.Ztag - 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
tauestimate). - 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 linearizedtaufitting.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 +taufitting 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
- Replace dummy collector with TSST stream adapter.
- Validate feature/state outputs against recorded experimental datasets.
- Introduce bounded command outputs behind explicit safety constraints.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7409d7e2bb510c75283e92fee223652a50155a4e24f7fc22b375b3913fad3938
|
|
| MD5 |
ab9246b338c83cdab9dffe7e895b77d0
|
|
| BLAKE2b-256 |
f0a7aef20a22614e509ac14de233b5487f26918826ed1cade19e9212f8c41355
|
Provenance
The following attestation bundles were made for rheed_realtime_analyzer-0.2.0.tar.gz:
Publisher:
main.yml on yig319/rheed-realtime-analyzer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rheed_realtime_analyzer-0.2.0.tar.gz -
Subject digest:
7409d7e2bb510c75283e92fee223652a50155a4e24f7fc22b375b3913fad3938 - Sigstore transparency entry: 1092585624
- Sigstore integration time:
-
Permalink:
yig319/rheed-realtime-analyzer@603bdd0ffcc98ebbc8c2058b3a17ea854f137072 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yig319
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@603bdd0ffcc98ebbc8c2058b3a17ea854f137072 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rheed_realtime_analyzer-0.2.0-py3-none-any.whl.
File metadata
- Download URL: rheed_realtime_analyzer-0.2.0-py3-none-any.whl
- Upload date:
- Size: 70.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c06474ca7a55bfb309b52e44a86c388ae5dfb344b7b8e3825f0952be16f1fbdb
|
|
| MD5 |
4775f2ebf3de2f431bd37ccb8de2571d
|
|
| BLAKE2b-256 |
55170139cb1dc4d7185c2753a6b323ae316d85803abd427e75ebbb791be65639
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rheed_realtime_analyzer-0.2.0-py3-none-any.whl -
Subject digest:
c06474ca7a55bfb309b52e44a86c388ae5dfb344b7b8e3825f0952be16f1fbdb - Sigstore transparency entry: 1092585627
- Sigstore integration time:
-
Permalink:
yig319/rheed-realtime-analyzer@603bdd0ffcc98ebbc8c2058b3a17ea854f137072 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yig319
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@603bdd0ffcc98ebbc8c2058b3a17ea854f137072 -
Trigger Event:
push
-
Statement type: