v0.21.0 - BME280 Sensor Time Series (2026-06-09)¶
What Changed?¶
This release adds check_bme280.py, a new example script that plots BME280 sensor data (temperature, pressure, humidity) over time from run data files.
Each sensor channel is displayed on a separate canvas with mean ± standard deviation per hit_type per resample bin.
Out-of-range sensor values are automatically filtered using the BME280 hardware specification limits.
What's New¶
Main Feature: check_bme280.py¶
What it does: Reads JSONL or Parquet event files and plots BME280 sensor time series, resampled by a configurable frequency. For each channel (temperature, pressure, humidity), a separate canvas shows mean ± std per hit_type as overlaid lines with shaded error bands.
How to use it:
# Plot all hit_types from parquet files with 10s resample frequency
uv run check_bme280.py ./data --pattern "*.parquet"
# Filter by hit_type with 60s resample frequency
uv run check_bme280.py ./data --resample 60s --hit-type 1 --hit-type 7
# Save plots to directory
uv run check_bme280.py ./data --save
Sensor range validation:
Values outside the BME280 hardware specification are excluded before aggregation:
| Channel | Min | Max |
|---|---|---|
tmp_c |
-40 °C | 85 °C |
hmd_pct |
0 % | 100 % |
atm_pa |
300 Pa | 110000 Pa |
Installation¶
Quick Start¶
# Get the release
git checkout v0.21.0
# Setup
task env:setup
# Run CLI
uv run kazunoko --help
What's Different from the Last Version?¶
✅ Added¶
check_bme280.py: BME280 sensor time series plot with mean ± std per hit_type- Sensor range validation in
compute_stats()using BME280 hardware limits
Is It Safe to Upgrade?¶
Backward Compatible: Yes
- No changes to Python library, CLI, or public API
- New example script only
Tests Passed¶
- ✅ Builds without errors
- ✅ Pre-commit hooks passed
Release Details¶
- Date: 2026-06-09
- Version: v0.21.0
- Files Changed: 1 new example script
- Commits: fc3da43, 4e2721b
Next Steps¶
No specific roadmap items at this time.