semstrait
Compile semantic models to Substrait compute plans
⚠️ This project is under active development and not yet ready for use.
What is semstrait?
semstrait is a Rust library that transforms YAML-based semantic model definitions into Substrait compute plans, enabling engine-agnostic analytics.
YAML Schema → semstrait → Substrait Plan → Any Engine
├── DataFusion
├── DuckDB
├── Velox
└── ...
Planned Features
- Semantic Modeling — Define dimensions, measures, metrics, and joins in YAML
- Query Resolution — Resolve business queries against the semantic model
- Substrait Output — Generate portable compute plans for any Substrait-compatible engine
- Lightweight — Pure Rust library, no runtime server required
Example (Planned API)
use ;
let schema = from_file?;
let query = new
.rows
.metrics;
let plan = emit_plan?;
// Execute on DataFusion, DuckDB, or any Substrait consumer
Status
🚧 Pre-release — API is unstable and documentation is incomplete.
Follow the repo for updates or star it to show interest.
License
Licensed under the Apache License, Version 2.0.