Back to Changelog
v0.10.0
March 13, 2026

Data Ops Plugins

Added

#[0.10.0] - 2026-03-13

This release introduces three new data operations plugins — SQLite, DataQuality, and Transformer — plus a first-class data quality assertion system. Agents can now profile data, detect anomalies, check freshness, manage versioned SQL transformations, and enforce row-level quality constraints at query time.

#Added

  • SQLite Plugin (from daita.plugins import sqlite)

    • Full BaseDatabasePlugin implementation backed by aiosqlite
    • Agent tools: sqlite_query, sqlite_execute, sqlite_list_tables, sqlite_get_schema, sqlite_inspect
    • Programmatic API: query(), execute(), execute_script(), insert_many(), tables(), describe(), pragma()
    • Focus DSL pushdown supported via the existing SQL focus backend
    • Install with: pip install 'daita-agents[sqlite]'
  • DataQuality Plugin (from daita.plugins import data_quality)

    • Analytical data quality layer that works on top of any BaseDatabasePlugin
    • Agent tools: dq_profile, dq_detect_anomaly, dq_check_freshness, dq_report
    • Column profiling — null rates, cardinality, min/max/avg per column
    • Anomaly detection — statistical z-score detection (numpy; scipy if available)
    • Freshness checks — validates a timestamp column is within an expected recency window
    • Quality report — consolidated report persisted as a stable graph node
    • Dialect-aware: works with SQLite, PostgreSQL, MySQL, and Snowflake
  • Transformer Plugin (from daita.plugins import transformer)

    • Versioned SQL transformation management for agents
    • Agent tools: transform_create, transform_run, transform_test, transform_version, transform_diff, transform_list
    • Supports creating named transformations, running them against a database, testing with dry-run mode, diffing versions, and listing all registered transforms
    • Version history tracked as an in-memory or graph-backed node per transformation
  • Data Quality Assertions (from daita import ItemAssertion)

    • ItemAssertion — define a callable rule evaluated against each row in a query result; pass a list to query_checked()
    • Raises DataQualityError on violation, carrying the full list of failing rows and assertions for agent inspection
    • DataQualityError is a PermanentError — agents will not retry; violations require data fixes, not retries
    • Exported from top-level daita package: from daita import ItemAssertion, RowAssertion
  • DataQualityError Exception

    • New exception in daita.core.exceptions, subclasses PermanentError
    • Carries violations (list of failed assertion details) and table for structured error reporting
    • Exported from top-level daita package: from daita import DataQualityError