Data-quality findings
Missingness, duplicates, constants, cardinality, invalid values, datetime confidence, and suspected leakage.
DATADOC profiles tabular data, proposes explainable transformations, fits them on training data only, and gives you a reusable artifact for validation, test, and inference.
Start with a read-only profile. Every later decision can be reviewed, overridden, and reproduced.
datadoc profile train.csv --target churnUse a training file with an optional target. DATADOC writes JSON and Parquet artifacts without requiring a notebook.
Terminaltrain → transform → evaluatepip install datadoc-cli datadoc profile train.csv --target churn --output profile.json datadoc plan train.csv --target churn --task classification --output plan.json datadoc fit train.csv --target churn --output artifacts/churn-pipeline.json datadoc transform validation.csv \ --pipeline artifacts/churn-pipeline.json \ --output validation-features.parquet
Pythonsame artifact, any processimport polars as pl from datadoc import DataDocPipeline, PipelineConfig train = pl.read_csv("train.csv") validation = pl.read_csv("validation.csv") pipeline = DataDocPipeline( PipelineConfig(target="churn", task="classification") ).fit(train) features = pipeline.transform(validation) pipeline.save("artifacts/churn-pipeline.json")
PowerShellWindows-friendlypython -m pip install datadoc-cli datadoc fit .\train.csv --target churn ` --output .\artifacts\churn-pipeline.json datadoc transform .\validation.csv ` --pipeline .\artifacts\churn-pipeline.json ` --output .\validation-features.parquet
fit learns medians, category vocabularies, datetime rules, and optional scaling statistics from train.csv. transform reuses those frozen values; it never learns from validation rows.
Every DATADOC interface maps to the same six-step workflow. If you understand this flow, you understand the CLI, SDK, and web UI.
Missingness, duplicates, constants, cardinality, invalid values, datetime confidence, and suspected leakage.
Train-fitted imputation, missing indicators, category encoding, datetime features, optional clipping, and scaling.
Save the input contract, output schema, configuration, plan, fitted values, and artifact version as JSON.
Use classification or regression baselines with stratified, ordered, or group-aware validation.
Review findings, approve a plan, preview output, inspect lineage, and download artifacts from the local dashboard (Ctrl+K palette).
Multi-provider AI explainer (OpenAI, Gemini, Anthropic, Ollama) infers hidden sentinels, missingness mechanisms, and domain feature formulas.
Best for repeatable batch jobs, automated reports, and CI.
Read the CLI reference →Best for notebooks, services, and custom orchestration.
Read the Python SDK →Best for exploring a dataset locally with visual feedback.
Read the UI guide →| Output | Purpose | When it appears |
|---|---|---|
profile.json | Facts, roles, findings, and schema fingerprint. | profile or run |
plan.json | Explainable operations and rationales. | plan or run |
pipeline.json | Frozen train-only transformation state. | fit or run |
report.html | Standalone, shareable interactive HTML health & audit report (with optional AI summary). | report or report --ai |
comparison.html | Visual side-by-side dataset diff (null resolution, feature lifecycle, shifts). | compare --html |
evaluation.json | Baseline, candidate, metric, split, and warnings. | evaluate or run --evaluate |
manifest.json | Lineage: input fingerprint, config, output schema, and artifact links. | run |
If the target is missing, null, or accidentally transformed, stop and fix the declaration. Use --target column_name; DATADOC never guesses a supervised target.
If transform reports missing columns or incompatible types, compare the new file with the artifact’s input_schema. Do not silently rename columns in production.
Check the evaluation split, target leakage findings, estimator family, and whether the selected pipeline actually beat the baseline. “No improvement found” is a valid result.