EazyDataFix 1.0.0
The stable production release: controlled cleaning, preparation reports, data contracts, unified Python workflows and a pipeline-safe CLI.
Unified workflow
Profile, assess, clean and explore a dataset through one stable edf.run() call.
Controlled cleaning
Preview proposed fixes and apply typed rules at dataset or column level.
Preparation reports
Inspect transformations, warnings, shapes and data types before and after preparation.
Data contracts
Infer expected schemas and enforce explicit, reusable quality rules.
Production CLI
Run batch workflows with configuration files, structured logs and deterministic exit codes.
Stable compatibility
Every public v0.5 workflow remains available in v1.0.0.
One stable workflow
edf.run() composes the four stages most data projects repeat: profiling, quality assessment, controlled cleaning and deterministic EDA. The returned RunResult keeps each stage separate, so applications can inspect exactly what happened.
1import eazydatafix as edf23result = edf.run("employees.csv")45print(result.profile)6print(result.assessment.quality.score)7print(result.fix_result.applied_fixes)8print(result.eda_result.observations)Controlled, auditable cleaning
Cleaning is no longer an all-or-nothing operation. A dry run keeps the source dataset unchanged, exposes the proposed dataset separately and records structured before/after changes. Column rules override the dataset-wide strategy only where needed.
1import eazydatafix as edf23config = edf.FixConfig(4 dry_run=True,5 column_rules={6 "salary": edf.ColumnCleaningRule(7 missing_value_strategy="mean"8 ),9 "notes": edf.ColumnCleaningRule(10 trim_whitespace=False11 ),12 },13)1415preview = edf.fix("employees.csv", config)16print(preview.change_log)17print(preview.proposed_dataset.head())Preparation with evidence
edf.prepare_with_report() returns the prepared DataFrame together with applied changes, warnings, before/after shapes and data types. Thresholds control numeric and date conversion, while outliers can be left unchanged, capped or dropped.
1import eazydatafix as edf23config = edf.PrepareConfig(4 numeric_conversion_threshold=0.95,5 date_parsing_threshold=0.80,6 outlier_action="cap",7 normalize_text=True,8)910report = edf.prepare_with_report("employees.csv", config)11print(report.changes)12print(report.warnings)13prepared_df = report.datasetData contracts and quality rules
Infer a contract from a trusted dataset, then validate future inputs against expected fields and types. Add explicit not_null, unique, minand max rules for pipeline decisions.
1import eazydatafix as edf23contract = edf.infer_schema("baseline.csv")4rules = (5 edf.QualityRule("id_unique", "employee_id", "unique"),6 edf.QualityRule("salary_non_negative", "salary", "min", 0),7)89report = edf.validate_contract("incoming.csv", contract, rules)10print(report.passed)11print(report.to_dict())Production command-line workflows
The edf command runs profile, assess, fix, prepare, EDA, Agentic EDA or the complete workflow. It accepts direct file paths or JSON/YAML configuration, writes JSON summaries and JSONL events, and returns exit code 0, 1 or 2 for success, processing failure or configuration failure.
1edf employees.csv23edf sales.csv customers.csv \4 --config workflow.yaml \5 --output batch-results.json \6 --log-file workflow-events.jsonlCompatibility and migration
No migration is required for existing v0.5 calls. Profiling, assessment, cleaning, preparation, deterministic and Agentic EDA, reports, approval checkpoints, notebook export and grounded narratives remain available. Applications can now catch the stable package-level EazyDataFixError; the historical spelling remains available for compatibility.
Install v1.0.0 and keep current v0.5 workflows. Adopt the new APIs when they add value to your pipeline.
Install
pip install eazydatafix==1.0.0