v0.23.0 - ZC freq in events store #31

Merged
serversdown merged 5 commits from dev into main 2026-08-06 12:12:20 -04:00
3 changed files with 36 additions and 2 deletions
Showing only changes of commit aebb5644bd - Show all commits
+34
View File
@@ -8,6 +8,40 @@ All notable changes to seismo-relay are documented here.
---
## v0.23.0 — 2026-08-04
**Per-channel ZC frequency in the events store.** The `events` table and the
`/db/events` feed now carry per-channel zero-crossing frequency, so consumers
(Terra-View's Vibration Summary) get frequency in bulk instead of one sidecar
fetch per event.
### Added
- **`events` columns** `tran_zc_freq`, `vert_zc_freq`, `long_zc_freq`, `mic_zc_freq`
(Hz) + `*_zc_above_range` flags (the Blastware `>N Hz` device-ceiling case). Added
via the existing incremental `_migrate` ADD COLUMN pass — **auto-migrates on
`SeismoDb()` construction, no manual migration**. `query_events` / `get_event`
(and thus `/db/events`) return them automatically (`SELECT *`).
- **Populated at ingest** — `PeakValues` gains the ZC-freq fields; both
`apply_report_to_event` and `apply_bw_report_dict_to_event` copy per-channel
`zc_freq_hz` / `zc_freq_above_range` from the parsed report onto them, and
`insert_events` persists them on INSERT and UPSERT.
- **Backfill** `scripts/backfill_event_zc_freq.py` — fills the columns for existing
events from their `.sfm.json` sidecars (idempotent, UPDATE-only).
### Fixed
- `sfm/server.py` app-version string was stale at `0.17.0`; now tracks the real version.
### Upgrade Notes
Run the backfill once after deploying, against the events DB + waveform store:
`python3 scripts/backfill_event_zc_freq.py --db-path <seismo_relay.db> --store-root <waveforms/>`
Events whose sidecar carries no frequency (or that have no sidecar) stay NULL and
render "—" downstream.
---
## v0.22.0 — 2026-07-03
Full-snapshot bundle support (SFM side). Adds the DB-snapshot, recent-waveform,
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "seismo-relay"
version = "0.22.0"
version = "0.23.0"
description = "Python client and REST server for MiniMate Plus seismographs"
requires-python = ">=3.10"
dependencies = [
+1 -1
View File
@@ -90,7 +90,7 @@ app = FastAPI(
"Implements the minimateplus RS-232 protocol library.\n"
"Proxied by terra-view at /api/sfm/*."
),
version="0.17.0",
version="0.23.0",
)
# Allow requests from the waveform viewer opened as a local file (file://)