Skip to main content

Crate invars

Crate invars 

Source
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 (Dataset or Column).
  • 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.

Modules§

engine
error
infrastructure
interface
invariant
prelude
report
scope
severity
spec
use_cases
violation