Reusable Pipeline Recipes

EazyDataFix 2.0 lets you save explicit preparation rules, inspect a preview and replay the reviewed workflow on future files.

Install v2.0.0

terminal
pip install --upgrade eazydatafix==2.0.0

For YAML recipes, install the optional extra with pip install "eazydatafix[yaml]==2.0.0".

1. Define explicit rules

A PipelineRecipe records the workflow and its column rules as data—not executable configuration. Rule names refer to normalized headings, so Customer ID becomes customer_id.

create_recipe.py
1import eazydatafix as edf23recipe = edf.PipelineRecipe(4    name="monthly_sales",5    columns={6        "customer_id": edf.ColumnRule(dtype="string"),7        "amount": edf.ColumnRule(8            dtype="number",9            currency_symbols=("₹",),10            on_error="quarantine",11        ),12        "order_date": edf.ColumnRule(13            dtype="datetime",14            date_format="%d/%m/%Y",15        ),16        "city": edf.ColumnRule(17            dtype="string",18            category_mapping={"HYD": "Hyderabad", "BLR": "Bengaluru"},19        ),20    },21)2223recipe.save("monthly_sales.json")

2. Preview, review and apply

preview() produces an in-memory review plan bound to the source, recipe, selected stages and proposed output. apply() re-runs the pipeline and rejects a changed source or mismatched result.

run_recipe.py
1pipeline = edf.Pipeline(2    edf.PipelineRecipe.load("monthly_sales.json")3)45plan = pipeline.preview("sales.csv")6print(plan.selected_steps)7print(plan.result.report())89result = pipeline.apply("sales.csv", plan)1011if result.is_ready:12    result.save("sales_output", formats=("csv", "excel"))

Supported explicit types

RuleOutputTypical control
stringpandas stringPreserve identifiers and leading zeroes
integernullable Int64Reject fractional values and overflow
numbernullable Float64Declare separators, currency and percentages
booleannullable booleanConvert true/false, yes/no, y/n and 1/0
datetimepandas datetimeRequire an explicit format or ISO8601
categorypandas categoryApply literal values and mappings

Choose what invalid conversions do

  • reject — preserve the column and fail the readiness/export gate.
  • preserve — keep the column, report a warning and continue readiness checks.
  • quarantine — exclude invalid rows from output and retain their original values as separate evidence.

Evidence and safe exports

Results expose status, readiness, issues, changes, before/after scores, validations, tables and quarantined rows. Only ready, applied and unchanged results can export clean data. Detailed audits can capture every changed cell, so treat them as potentially sensitive source data.

Use recipes with every readiness workflow

Set workflow="ml_ready" for recipe-bound training and inference artifacts, or workflow="powerbi_ready" for named tables, key checks, relationship validation and optional date dimensions. Analysis Ready is the default.

Command line

terminal
edf sales.csv --recipe monthly_sales.json --preview --output preview.json
edf sales.csv --recipe monthly_sales.json --export-dir output
edf --recipe bi_recipe.json --table sales=sales.csv \
  --table customers=customers.csv --export-dir output --format csv --format excel

Current scope

Pipelines currently run in memory with pandas. Recipes and ML artifacts are portable; review plans remain process-local. Streaming, SQL connectors and browser Studio recipe execution remain future work.

See the v2.0.0 release notes or browse the complete upstream recipe guide.