Two body-model rewrites, a systematic scale error affecting every geophone reading the system ever produced, a recovered file format, and two artifact-hygiene bugs where stale files outlived the decodes that made them. - geo full scale is 32000 ADC counts, not 32768 (every reading 2.34% low) - the waveform body is a record chain, not a tag stream - the histogram block is big-endian, with a terminal tail - sub-minute intervals pack several per block (415 files recovered) - three more defects found by a full-corpus sweep, each masking the next - stale .h5 files and stale shape_* columns are now cleared, not left All 11,603 series-3 binaries in the production snapshot pass every check. Ground truth: 1,211/1,211 histograms exact per-interval, 75/75 waveform sample counts exact, multi-interval fixture exact on all 45,680 values. Also corrects a changelog note that went stale within the same day: the "3 of 75 events still truncate" item was resolved by the record-chain rewrite, and the remaining open items are now listed explicitly. CLAUDE.md gains a "Where things stand" block at the top — the header had been reading v0.21.0, four releases behind, which is the first thing you see when picking the project back up. Tests: 259 passed; the 16 failures are pre-existing (gitignored fixtures) and unchanged from baseline. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HgTe8CamXAHcAmaQ6QNcog
25 lines
637 B
TOML
25 lines
637 B
TOML
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "seismo-relay"
|
|
version = "0.26.0"
|
|
description = "Python client and REST server for MiniMate Plus seismographs"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"fastapi>=0.104",
|
|
"uvicorn[standard]>=0.24",
|
|
"pyserial>=3.5",
|
|
"sqlalchemy>=2.0",
|
|
"python-multipart>=0.0.7",
|
|
"h5py>=3.10",
|
|
"numpy>=1.24",
|
|
"matplotlib>=3.8",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
# Auto-discovers minimateplus/, micromate/, sfm/, bridges/ as packages
|
|
where = ["."]
|
|
include = ["minimateplus*", "micromate*", "sfm*", "bridges*"]
|