Data
dsdiff
A git-style diff between two datasets, with distribution drift.
Install
pip install dsdiffIf you use uv, also as an isolated CLI:
uv tool install dsdiffWhat it does
When a dataset is regenerated, columns quietly get renamed, retyped, gain nulls or shift, and the pipeline keeps running while the model degrades. dsdiff compares two files and reports what changed, ranked by severity.
In action
A real recorded session of the CLI running.
Read it as text
severity column change detail high age drift PSI 2.603 high customer_id drift PSI 12.446 medium plan drift PSI 0.203
$ dsdiff diff train.csv test.csv
severity column change detail
high age drift PSI 2.603
high customer_id drift PSI 12.446
medium plan drift PSI 0.203Features
- —Schema changes: added, removed or retyped columns.
- —Per-column distribution drift with PSI.
- —Null-rate and cardinality jumps.
- —CI gate and JSON output; reads CSV, Parquet and JSONL.