DataSentry

Find bad data.
Fix it without gambling.

DataSentry automatically detects data-quality problems, explains the evidence, and turns fixes into a previewable, verifiable, reversible workflow.

The deterministic core runs locally. LLMs are optional. AI may propose a repair; humans approve state-changing actions.

39 detectors6 quality dimensions95% coverageApache-2.0

One loop, not another dashboard

Data quality is only useful when a finding can move from suspicion to evidence to a safe correction. DataSentry is organized around that complete workflow.

1DetectScan files, databases, and cloud objects with evidence-driven detectors.
2ExplainInspect samples, ratios, confidence, severity, and six-dimension scoring.
3RepairGenerate a proposal, preview it, and apply it to a copy—not the source.
4VerifyRe-scan the repaired data, detect regressions, inspect diffs, or roll back.

Evidence before AI

Base detection and scoring are deterministic. LLM assistance is optional rather than the authority deciding whether data is bad.

Local-first by design

DuckDB executes the core scan locally. A local Ollama provider can keep LLM-assisted workflows on the machine too.

Repair is deliberately conservative

propose → preview → apply to copy → verify → rollback. The original file is never overwritten.

Useful outside the UI

CLI/TUI, REST, Web, MCP, JSON, Markdown, HTML, JUnit, and SARIF expose the same evidence to people and automation.

See the actual report

This embedded report is generated by DataSentry from a small synthetic order dataset with injected quality problems. It is not a separate marketing mockup.

Start in under a minute

Install the PyPI package, scan a file, then inspect high-severity findings.

# install
$ pip install datasentry-ai

# detect → evidence → score → persist
$ datasentry scan orders.csv

# inspect what matters first
$ datasentry issues list --severity high

# interactive terminal UI
$ datasentry

# web UI + REST API
$ datasentry-server
  • Inputs
    CSV · Parquet · JSONL · XLSX · DuckDB · SQLite · PostgreSQL · MySQL · cloud objects
  • Outputs
    JSON · Markdown · HTML · JUnit · SARIF
  • History
    Schema, row-count, score, and issue-distribution drift
  • Automation
    Quality gates, scheduling, workers, REST, MCP

Performance claims you can reproduce

Instead of presenting an unqualified “1M rows in X seconds” number, DataSentry ships the benchmark and its acceptance budgets in the repository.

$ uv sync
$ uv run python benchmarks/bench_scan.py 1000000 42
$ uv run python benchmarks/bench_scan.py 1000000 42 --sampling-size 200000

Benchmark policy →

Give AI agents data-quality tools, not unchecked authority

The MCP stdio server exposes DataSentry's SDK to MCP-capable agents while preserving the project's approval and repair boundaries.

$ datasentry mcp
Agents can scan, inspect issues and scores, compare drift, validate contracts, and use other exposed tools. State-changing repair behavior remains governed by DataSentry's human-in-the-loop workflow.

Catch bad data before it becomes a production incident.

Try the project, inspect the evidence, and tell us where the workflow breaks for your data.