-
-
Notifications
You must be signed in to change notification settings - Fork 13
GoldenFlow
Data-transformation toolkit for the Golden Suite. 76+ standardizers across phone, name, address, date, categorical, numeric, email, identifier, and URL families. DQBench Transform Score: 100/100.
Source: packages/python/goldenflow · PyPI: goldenflow · npm: goldenflow
pip install goldenflow
goldenflow transform customers.csvPolars-native transforms with a hybrid expr / series / dataframe mode system. Every transform self-registers via @register_transform and is selected automatically when GoldenCheck flags a corresponding issue.
| Family | Examples |
|---|---|
| Text |
strip, lowercase, title_case, normalize_unicode, collapse_whitespace, truncate
|
| Phone |
phone_e164, phone_national, phone_validate
|
| Name |
split_name, name_proper, nickname_standardize
|
| Address |
address_standardize, state_abbreviate, zip_normalize
|
| Date |
date_iso8601, date_parse, age_from_dob, extract_year/month/day
|
| Categorical |
category_auto_correct, boolean_normalize, gender_standardize
|
| Numeric |
currency_strip, percentage_normalize, comma_decimal
|
email_lowercase, email_normalize, email_validate
|
|
| Identifiers |
ssn_format, ssn_mask, ein_format
|
| URL |
url_normalize, url_extract_domain
|
Plus 5 domain packs (people_hr, healthcare, finance, ecommerce, real_estate) that bundle field-aware transforms.
import goldenflow
import polars as pl
# Zero-config (auto-detect + auto-apply)
df = pl.read_csv("customers.csv", encoding="utf8-lossy")
result = goldenflow.transform_df(df)
cleaned = result.df
print(f"applied {len(result.manifest.records)} transforms")
# Configured
from goldenflow.config.schema import GoldenFlowConfig, TransformSpec
config = GoldenFlowConfig(transforms=[
TransformSpec(column="phone", ops=["strip", "phone_e164"]),
TransformSpec(column="name", ops=["strip", "title_case"]),
])
result = goldenflow.transform_df(df, config=config)result.manifest audits every transform: column, transform name, rows affected, before/after samples.
GoldenCheck findings ──► select_from_findings ──► [GoldenFlow] ──► cleaned df ──► GoldenMatch
GoldenFlow's select_from_findings(findings) maps GoldenCheck check names (e.g. whitespace_issues) to the right transform names — so the natural pipeline is just "scan, then auto-select".
goldenflow transform FILE # zero-config
goldenflow transform FILE --config flow.yaml # configured
goldenflow transform FILE --domain healthcare # use a domain pack
goldenflow transform FILE --strict # fail on any error
goldenflow transform FILE --llm # LLM-enhanced categorical correction
goldenflow profile FILE # show column profiles
goldenflow learn FILE -o config.yaml # generate config from data
goldenflow validate FILE # dry-run: show what would change
goldenflow diff before.csv after.csv # before/after report
goldenflow stream large.csv # batched, out-of-core
goldenflow watch ./data/ # auto-transform on new files
goldenflow mcp-serve --transport http --port 8150 # MCP serverghcr.io/benzsevern/goldenflow-mcp:latest. 10 tools: transform, map, profile, learn, diff, validate, list_transforms, explain_transform, list_domains, select_from_findings. Surfaced under the goldensuite-mcp aggregator.
Full feature parity. 71 vitest tests, strict TS (noUncheckedIndexedAccess, exactOptionalPropertyTypes). Edge-safe core (goldenflow/core) + Node layer (goldenflow/node).
⚡ GoldenMatch — Entity resolution toolkit | PyPI | GitHub | Open in Colab | MIT License
🟡 Golden Suite (Monorepo)
Suite Packages
- GoldenCheck · data quality
- GoldenFlow · transforms
- GoldenPipe · orchestrator
- InferMap · schema mapping
Getting Started
- Installation
- Quick Start
- Auto-Config Controller · enhanced through v1.12
- Configuration
- Verification · new in v1.5
- CLI Reference
Core Concepts
AI Integration
Advanced
- PPRL
- Domain Packs
- Streaming / CDC
- Database Integration
- GPU & Vertex AI
- REST API
- Interactive TUI
- Web UI · new in v1.7
- Evaluation
Reference
pip install goldenmatch
npm install goldenmatch