v0.20.0 - Real-time TUI Monitor Scripts (2026-03-20)¶
What Changed?¶
This release adds two real-time TUI monitor scripts for the OSECHI detector.
monitor_events.py replaces the previous monitor.py with a cleaner interface,
and monitor_thresholds.py is a new script for monitoring threshold scan results.
Both scripts now use the standard read_from positional argument convention.
What's New¶
Main Feature: Real-time TUI Monitor Scripts¶
What it does: Two Textual-based TUI scripts for monitoring OSECHI detector data in real-time:
monitor_events.py: Watches a directory for new event files and displays event counts, detector hit patterns, and BME280 sensor datamonitor_thresholds.py: Watches a directory for threshold scan results and displays scatter plots (threshold vs hit count) for each channel
How to use it:
# Monitor detector events
uv run monitor_events.py ./20260320/
# Monitor with custom file pattern
uv run monitor_events.py ./20260320/ --pattern "run_*.jsonl"
# Test without hardware (generate then monitor)
uv run kazunoko generate random > ./20260320/events.jsonl
uv run monitor_events.py ./20260320/ --pattern "events.jsonl"
# Monitor threshold scan results
uv run monitor_thresholds.py ./20260320/
uv run monitor_thresholds.py ./20260320/ --xmin 280 --xmax 320 --ymax 100
Installation¶
Quick Start¶
# Get the release
git checkout v0.20.0
# Setup
task env:setup
# Run CLI
uv run kazunoko --help
What's Different from the Last Version?¶
✅ Added¶
monitor_thresholds.py: new real-time TUI monitor for threshold scan results with scatter plots per channelmonitor_events.py: replacesmonitor.pywith cleaner file-watch-only interface- Usage examples for
kazunoko generate randomand pre-recorded event replay inmonitor_events.py
🔧 Changed¶
monitor.pyrenamed tomonitor_events.pyfor consistency withmonitor_thresholds.py- Both monitor scripts now use
read_frompositional argument (aligned with other example scripts) - Stdin/pipe mode removed from
monitor_events.pyto simplify the interface
🐛 Fixed¶
- Typo in usage docs:
monitor_threshold.py→monitor_thresholds.py - Stale
monitor.pyreferences updated tomonitor_events.py
Is It Safe to Upgrade?¶
Backward Compatible: No
monitor.pyhas been renamed tomonitor_events.py— update any scripts or aliases that callmonitor.py--watchoption replaced by positionalread_fromargument — update existing command lines- Stdin/pipe mode (
kazunoko read 100 | uv run monitor_events.py) is no longer supported
Tests Passed¶
- ✅ Builds without errors
- ✅ commitizen pre-commit hook passed
Release Details¶
- Date: 2026-03-20
- Version: v0.20.0
- Commits: 8439eb9, 3b8ad33, 48760a9, 45a4249, 33b7550, d207904
Next Steps¶
- Add docs pages for
monitor_events.pyandmonitor_thresholds.pyin the examples guide