| Crates.io | semstrait |
| lib.rs | semstrait |
| version | 0.0.1 |
| created_at | 2026-01-24 20:57:09.437606+00 |
| updated_at | 2026-01-24 20:57:09.437606+00 |
| description | Compile semantic models to Substrait compute plans |
| homepage | |
| repository | https://github.com/semstrait/semstrait |
| max_upload_size | |
| id | 2067465 |
| size | 14,748 |
Compile semantic models to Substrait compute plans
⚠️ This project is under active development and not yet ready for use.
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
└── ...
use semstrait::{Schema, Query, emit_plan};
let schema = Schema::from_file("model.yaml")?;
let query = Query::new("sales")
.rows(["dates.year", "markets.country"])
.metrics(["revenue", "quantity"]);
let plan = emit_plan(&schema, &query)?;
// Execute on DataFusion, DuckDB, or any Substrait consumer
🚧 Pre-release — API is unstable and documentation is incomplete.
Follow the repo for updates or star it to show interest.
Licensed under the Apache License, Version 2.0.