Skip to content

Implement SDL v2: Tauri + Python sidecar rewrite #389

@daniel-slaugh

Description

@daniel-slaugh

HydroServer is moving away from external orchestration systems. Data ingestion is now handled internally via Celery tasks, which gives the server itself the flexibility to manage complex extraction and transformation workflows. That makes the SDL's original orchestration complexity unnecessary. The SDL's remaining job is simple and specific: take CSV files from a local datalogger and push new observations to HydroServer. This rewrite pairs it down to exactly that.

Additionally, we're taking what we learned from SDL v1 and modernizing the software stack:

Stack

Tauri v2 (app shell, tray, native dialogs, code signing)
Python + FastAPI sidecar (scheduling, CSV parsing, HydroServer push)
Vanilla HTML/TypeScript + Tailwind CSS v4 (UI)

Scope

Local CSV file watching with configurable column → datastream mappings
Interactive CSV preview with click-to-configure row/column selection
APScheduler-based polling loop with per-job cursor state
System tray with live status indicator
First-run onboarding flow
Cross-platform packaging via GitHub Actions

Metadata

Metadata

Assignees

Labels

SDLAssociated with the streaming data loader

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions