Central - data hub spine. Adapters -> NATS/JetStream -> archive.
  • Python 90.5%
  • HTML 9.1%
  • PLpgSQL 0.4%
Find a file
Matt Johnson aacf06499b feat(adapters): add USGS earthquake adapter
USGS Earthquake Hazards Program adapter:
- Polls GeoJSON feed (all_hour default, configurable)
- Magnitude tier classification (minor/light/moderate/strong/major/great)
- Deduplication via USGS stable event ID
- Region filter via shapely point-in-bbox
- Skips events with null magnitude (quarry blasts, etc.)

Includes comprehensive unit tests.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-16 20:51:36 +00:00
docs docs: add FIRMS GUI planning notes 2026-05-16 19:58:46 +00:00
etc-templates
scripts
sql feat(schema): add USGS quake adapter and CENTRAL_QUAKE stream 2026-05-16 20:51:28 +00:00
src/central feat(adapters): add USGS earthquake adapter 2026-05-16 20:51:36 +00:00
systemd docs: add systemd unit files with EnvironmentFile directive 2026-05-16 02:38:21 +00:00
tests feat(adapters): add USGS earthquake adapter 2026-05-16 20:51:36 +00:00
.gitignore
.python-version foundation: models, adapter ABC, config, CE wire, schema 2026-05-15 21:08:56 +00:00
LICENSE
pyproject.toml fix(nws): replace centroid filter with polygon intersection 2026-05-16 19:05:05 +00:00
README.md
uv.lock fix(nws): replace centroid filter with polygon intersection 2026-05-16 19:05:05 +00:00

Central

Central is the data hub spine for the infrastructure. Adapters normalize upstream sources into a canonical event shape, publish CloudEvents to NATS/JetStream, and archive to TimescaleDB for historical query. Single-LXC deployment.

Status

Phase 0 — scaffold. Not yet operational.

Architecture

  • Python 3.12 (uv-managed)
  • NATS + JetStream for live event bus
  • TimescaleDB + PostGIS for archive and geospatial query
  • One supervisor process managing adapter lifecycle
  • One archive consumer process persisting events to TimescaleDB
  • Both processes systemd-managed

License

MIT. See LICENSE.