Dataset plugins define canonical metric schemas — the stable tables that transforms write into and dashboards read from. They are the contract between data producers and consumers.
A dataset is a versioned table schema, declared as a Python dataclass
extending DatasetTable. It specifies the column names,
types, units, and primary key for a canonical metric — for example,
daily_hrv, transaction, or activity.
Multiple source-transform pairs can write into the same dataset table. A fitness-tracker source + a geofence transform and a phone-health source + a SQL transform can both write activity rows. Dashboards then read a unified, schema-stable table regardless of origin.
duration_s, distance_m, weight_kg). All units are SI unless the upstream API forces otherwise. shenas.datasets. Install with shenasctl source add --local; shenas creates the table on first transform run.
The canonical community datasets (activity, daily_hrv, transaction,
sleep, event, note) are maintained in the main
shenas-org/shenas
repository under plugins/datasets/. If a dataset you
need doesn't exist, open a PR to propose the schema — the bar is
stability and SI units.
This list is illustrative; authoritative definitions are in the repo. Dataset schemas are still being finalized — check the roadmap for stability status.