mirror of
https://github.com/zvx-echo6/central.git
synced 2026-06-10 20:04:43 +02:00
Central - data hub spine. Adapters -> NATS/JetStream -> archive.
- Python 89.1%
- HTML 9.3%
- CSS 1.3%
- PLpgSQL 0.3%
Mechanical lint fixes only — ruff 31 -> 0 across the two files. - E402 module-import-not-at-top: 15 -> 0 (relocated module-level `logger = logging.getLogger(...)` from mid-import to below the import block in routes.py; imports now contiguous at top of file) - F811 redefined-while-unused: 10 -> 0 (removed 10 redundant function-local `from central.gui.csrf import reuse_or_generate_pre_auth_csrf` re-imports; the module-level import at line 26 is now load-bearing) - F401 unused-import: 4 -> 0 (routes.py: fastapi.Depends, and central.gui.csrf.reuse_or_generate_pre_auth_csrf resolved by the F811 fix; test_wfigs.py: sqlite3, central.config_models.RegionConfig) - E702 multiple-statements-on-one-line-semicolon: 2 -> 0 (split the two semicolon-joined statements in _fused_bbox, indentation preserved) Deliberate function-local wizard imports (circular-import workaround) left untouched. pytest: 890 passed / 1 skipped, unchanged across 3 runs. no behavior change; ruff mechanical fixes only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| docs | ||
| etc-templates | ||
| scripts | ||
| sql | ||
| src/central | ||
| systemd | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .python-version | ||
| CHANGELOG.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
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
Testing
See docs/test-database.md for test database setup.
License
MIT. See LICENSE.