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.
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.
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
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
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.