Expand description
§Invars
Invars is a declarative data validation engine for Rust.
It allows you to define invariants (validation rules) and evaluate them against a dataset using an execution engine (currently Polars).
§Core Concepts
- Invariant: A validation rule (e.g. “column must be unique”).
- Scope: Where the rule applies (
DatasetorColumn). - Engine: Executes invariants against data.
- Violation: Returned when an invariant fails.
Execution model:
Invariant
↓
plan() -> Metric Expression
↓
Engine execution (Polars LazyFrame)
↓
map() -> Option<Violation>§Feature Flags
polars— Enables the Polars execution engine.
§Design Goals
- Declarative validation rules
- Engine-agnostic core domain
- Lazy execution support
- Explicit metric-to-violation mapping
- Fully testable invariant units
Invars is designed to be predictable, extensible, and AI-friendly.