Module validation

Module validation 

Source
Expand description

Validation (Phase 1).

A small validation DSL that compiles checks to Polars expressions (via our pipeline) while keeping the public API in crate-owned types.

§Example

use rust_data_processing::validation::{validate_dataset, Check, Severity, ValidationSpec};
use rust_data_processing::types::{DataSet, DataType, Field, Schema, Value};

let ds = DataSet::new(
    Schema::new(vec![
        Field::new("id", DataType::Int64),
        Field::new("name", DataType::Utf8),
    ]),
    vec![
        vec![Value::Int64(1), Value::Utf8("Ada".to_string())],
        vec![Value::Int64(2), Value::Null],
    ],
);

let spec = ValidationSpec::new(vec![
    Check::NotNull { column: "name".to_string(), severity: Severity::Error },
]);
let rep = validate_dataset(&ds, &spec)?;
assert_eq!(rep.summary.failed_checks, 1);

Structs§

CheckResult
ValidationReport
ValidationSpec
A collection of checks.
ValidationSummary

Enums§

Check
A single validation check.
Severity
Severity for a validation check.

Functions§

render_validation_report_json
render_validation_report_markdown
validate_dataset
validate_frame