name_transliterate (deterministic Unicode-to-ASCII fold via a curated map) and name_script (dominant-script detection). It scores 100/100 on the DQBench transform benchmarks.
CLI reference
Commands, flags, and the config format.
Performance
Vectorized fast paths and the optional Arrow-native phone kernel.
Install
goldenflow[check] adds GoldenCheck integration, goldenflow[mcp] adds the MCP server, and goldenflow[all] brings everything.
Quickstart
Zero-config auto-detect:Key features
- Zero-config mode: auto-detects column types and applies safe transforms.
- 113 transforms across 13 categories, including phonetic blocking keys (
soundex,double_metaphone), company/org dedup, email/URL dedup keys, checksummed/structural identifiers (payment card, IBAN, ISBN, EAN/UPC, EU VAT, SWIFT/BIC, ABA routing, IMEI, ISIN, CUSIP, NPI, Luhn) and owned i18n name kernels (name_transliterate,name_script). - 6 domain packs: healthcare, finance, ecommerce, people/HR, real estate, and carceral.
- Audit trail: a JSON manifest of every transform, which rows changed, and before/after samples.
- Schema mapping: auto-map columns between systems by name similarity and data profiling.
- Streaming: process large files in chunks via
StreamProcessor. - Cloud connectors: transparent
s3://andgs://paths. - Watch and schedule: auto-transform new files, or run on an interval.
- LLM-enhanced mode: optional categorical corrections via
--llm. - Polars-native, with Jupyter-friendly rich rendering. Date and phone normalization use vectorized fast paths (≈14× faster end-to-end), plus an optional Arrow-native Rust kernel for the phone tail.
Configured transforms
Polars-free transform()
goldenflow.transform() runs the same transforms on the native/Arrow substrate with
Polars never imported. It takes a dict[str, list] or a file path
(.csv / .parquet / .xlsx), and returns a ColumnarResult (.columns +
.manifest, with an opt-in .to_polars()):
transform_df(pl.DataFrame) stays as the Polars-backend adapter. Install optional
backends with pip install goldenflow[polars] (bulk-vectorized backend + pl.read_*)
or goldenflow[parquet] (pyarrow, for Polars-free Parquet read).
Schema mapping
Streaming
SQL (DuckDB)
GoldenFlow’s transforms also ship as a zero-Python DuckDB extension (goldenflow-duckdb) — a compiled Rust extension that links the same reference
kernels straight into DuckDB, so the transforms run natively in the query engine,
byte-identical to the Python / TypeScript / WASM surfaces. 98 transforms are
exposed as goldenflow_<kernel> SQL functions:
goldenflow-duckdb-v*
release assets
(linux / macOS / Windows; loads on DuckDB >= 1.3.0).