GoldenFlow

io.github.benseverndev-ossPublished by GitHub account benseverndev-ossv2.2.0Updated Oct 24, 2026

Standardize, reshape, and normalize messy data — CSV, Excel, Parquet, S3, databases.

VerifiedStreamable HTTPWeb executableDatabasesFiles & StorageData & Analytics

Overview

AI-generated overview

GoldenFlow is a data transformation toolkit that lets an assistant clean, standardize and reshape messy CSV, Excel, Parquet, cloud-storage or database data.

What you can do
Transform files with zero-config auto-detection or a saved YAML config, with an audit manifest of every change made (R25, R33, R34). Profile columns, learn a config from data patterns, diff before/after files and auto-map schemas between sources (R36, R57, R58). Apply domain packs for healthcare, people/HR, finance, e-commerce and real estate (R62, R63). Normalize phones, dates, names, addresses, emails, categories and numbers through a large built-in transform library (R70, R71). Read and write S3 and GCS paths, stream large files in chunks, and watch or schedule recurring transforms (R41, R43, R46, R49).
When to use it
Useful when incoming data is inconsistent — mixed date formats, phone numbers in many styles, mismatched column names or messy categorical values — and you want repeatable, auditable cleaning before analysis, matching or loading into a pipeline (R10, R17, R20).
Requirements
Runs as a hosted remote endpoint or as a local process; the local server installs from PyPI with the mcp extra and is started with the mcp-serve command (R195, R196). Cloud connectors need access to the relevant S3 or GCS buckets (R43). LLM-enhanced mode needs an OPENAI_API_KEY or ANTHROPIC_API_KEY environment variable (R166).
Before you install
Transforms write output files and can overwrite or create data at the given paths, including cloud storage locations (R33, R43). Watch and schedule modes change files automatically as they arrive (R46, R49). LLM mode sends data to OpenAI or Anthropic when an API key is set (R165, R166). Domain packs handle sensitive fields such as SSNs and HIPAA-related data, so review outputs before sharing (R65, R66).

Installation

In SourceWeft

  1. Open GoldenFlow in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.benseverndev-oss%2Fgoldenflow/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "goldenflow": {
      "type": "http",
      "url": "https://goldenflow-mcp-production.up.railway.app/mcp/"
    }
  }
}

README

Moved. This repo has moved into the benzsevern/goldenmatch monorepo at packages/python/goldenflow (and packages/typescript/goldenflow)/. This repo is archived; new development happens in the monorepo.

GoldenFlow

Data transformation toolkit — standardize, reshape, and normalize messy data before it hits your pipeline. Built by Ben Severn.

Works on files (CSV, Excel, Parquet), cloud storage (S3, GCS), or live databases. Zero-config mode auto-detects what needs fixing. One command to clean what GoldenCheck found and prep what GoldenMatch needs. Available in Python and TypeScript with full feature parity.

[PyPI] [npm] [CI] [codecov] [Downloads] [Python 3.11+] [Node 20+] [License: MIT] [Docs] [DQBench] [Open In Colab]

bash
# Pythonpip install goldenflowgoldenflow transform data.csv
# TypeScript / Node.jsnpm install goldenflownpx goldenflow-js transform data.csv

The Problem

Your data arrives broken in predictable ways:

  • Phone numbers come in 15 different formats
  • Dates are mixed between MM/DD/YYYY and YYYY-MM-DD
  • Addresses have inconsistent abbreviations
  • Column names don't match between systems ("fname" vs "first_name" vs "given_name")
  • Values have leading whitespace, unicode garbage, smart quotes
  • Categoricals are inconsistent ("USA", "US", "United States")

Every data engineer writes throwaway scripts to fix these. Every script is slightly different. None of them are reusable.

GoldenFlow makes the transforms reusable, composable, and automatic.


Quick Start

Python

bash
pip install goldenflow
# Auto-transform (zero-config)goldenflow transform messy_data.csv
# Try the demo firstgoldenflow demogoldenflow transform demo_data.csv -c demo_config.yaml
# With configgoldenflow learn messy_data.csv -o config.yamlgoldenflow transform messy_data.csv -c config.yaml
# Schema mappinggoldenflow map --source system_a.csv --target system_b.csv
# Full pipelinegoldencheck scan data.csvgoldenflow transform data.csvgoldenmatch dedupe data_transformed.csv

TypeScript / Node.js

bash
npm install goldenflow
# Auto-transform (zero-config)npx goldenflow-js transform messy_data.csv
# Try the demo firstnpx goldenflow-js demonpx goldenflow-js transform demo_data.csv -c demo_config.yaml
# With confignpx goldenflow-js learn messy_data.csv -o config.yamlnpx goldenflow-js transform messy_data.csv -c config.yaml
# Schema mappingnpx goldenflow-js map -s system_a.csv -t system_b.csv

Programmatic (TypeScript)

typescript
import { TransformEngine } from "goldenflow";
const result = new TransformEngine().transformDf([  { name: "  JOHN  ", phone: "(555) 123-4567", email: "[email protected]" },]);console.log(result.rows[0]);// { name: "JOHN", phone: "+15551234567", email: "[email protected]" }

Zero-Config Mode

bash
goldenflow transform customers.csv# or just:goldenflow customers.csv

GoldenFlow profiles every column and applies safe transforms automatically:

  • Strips whitespace and normalizes unicode
  • Standardizes phone numbers to E.164 format
  • Normalizes email casing
  • Parses and standardizes date formats to ISO 8601
  • Normalizes zip codes (zero-padding, strip +4)
  • Replaces smart/curly quotes with straight quotes
  • Auto-corrects categorical misspellings via fuzzy matching

Output: a clean CSV with a sidecar manifest showing every transform applied.

customers.csv           -> customers_transformed.csv                        -> customers_manifest.json

The manifest is an audit trail — what changed, why, and which rows were affected.


CLI Commands

GoldenFlow has 14 commands. The most common ones:

bash
# Core transformsgoldenflow transform data.csv                    # Zero-config: auto-detect and fixgoldenflow transform data.csv -c config.yaml     # Apply saved configgoldenflow transform data.csv --domain healthcare # Use a domain packgoldenflow transform data.csv --strict           # Fail on any transform errorgoldenflow transform data.csv --llm              # Enable LLM-enhanced correctionsgoldenflow data.csv                              # Shorthand: auto-routes to transform
# Schema & profilinggoldenflow map -s a.csv -t b.csv                 # Auto-map schemas between filesgoldenflow profile data.csv                      # Show column profilesgoldenflow learn data.csv -o config.yaml         # Generate config from data patternsgoldenflow validate data.csv                     # Dry-run: show what would changegoldenflow diff before.csv after.csv             # Compare pre/post transform
# Continuous & scheduledgoldenflow watch ./data/                         # Auto-transform new/changed filesgoldenflow schedule data.csv --every 1h          # Run on a schedule (5m, 1h, 30s...)goldenflow stream large_file.csv --chunk-size 50000  # Stream-process in batches
# Discovery & historygoldenflow init data.csv                         # Interactive setup wizardgoldenflow demo                                  # Generate sample data to trygoldenflow history                               # Show recent transform runsgoldenflow history -n 50                         # Last 50 runs
# Integrationsgoldenflow interactive data.csv                  # Launch TUIgoldenflow serve                                 # REST API for real-time transformsgoldenflow mcp-serve                             # MCP server for Claude Desktop

Default Routing

Running goldenflow <file> without a subcommand auto-routes to transform:

bash
goldenflow customers.csv       # equivalent to: goldenflow transform customers.csvgoldenflow -                   # read from stdin, write to stdout

Streaming

For files too large to load into memory, use StreamProcessor or the stream command:

bash
goldenflow stream large_file.csv --chunk-size 50000
python
from goldenflow.streaming import StreamProcessor
processor = StreamProcessor(config=config)
# Process a single recordresult = processor.transform_one({"name": "  John  ", "phone": "(555) 123-4567"})
# Process a batchresult = processor.transform_batch(df_batch)
# Stream a large file in chunksfor result in processor.stream_file("large_data.csv", chunk_size=10_000):    write_to_output(result.df)
print(f"Processed {processor.batches_processed} batches")

Cloud Connectors

GoldenFlow reads from and writes to S3 and Google Cloud Storage transparently:

bash
# S3goldenflow transform s3://my-bucket/raw/customers.csv -o s3://my-bucket/clean/
# GCSgoldenflow transform gs://my-bucket/data/records.csv
python
from goldenflow.connectors.s3 import read_s3, write_s3from goldenflow.connectors.gcs import read_gcs, write_gcs
df = read_s3("s3://my-bucket/raw/customers.csv")df = read_gcs("gs://my-bucket/data/records.csv")

Cloud paths are detected automatically — no extra flags needed.


Watch Mode

Auto-transform files as they arrive in a directory:

bash
goldenflow watch ./data/goldenflow watch ./incoming/ -c config.yaml -o ./processed/

GoldenFlow polls the directory and applies transforms to any new or changed files.


Scheduling

Run transforms on a repeating schedule:

bash
goldenflow schedule data.csv --every 1hgoldenflow schedule data.csv --every 30m -c config.yaml -o ./output/

Supported intervals: 30s, 5m, 1h, 2h, etc.


Setup Wizard

Generate a YAML config interactively:

bash
goldenflow init data.csv

The wizard profiles your data, suggests transforms, and saves a goldenflow.yaml ready to use.


History

GoldenFlow tracks every transform run in ~/.goldenflow/history/:

bash
goldenflow history         # Last 20 runsgoldenflow history -n 50   # Last 50 runs

Each run record captures: source file, row count, transforms applied, errors, and duration.


Schema Mapping

When you need to merge data from different systems:

bash
goldenflow map --source crm_export.csv --target warehouse_schema.csv

GoldenFlow auto-maps columns between schemas using name similarity and data profiling:

crm_export.csv              warehouse schema-----                       -----email_address      ->       email (rename)phone_number       ->       phone (rename)fname              ->       first_name (alias match)st                 ->       state (alias match)

Ambiguous mappings get flagged for human review. Confident mappings apply automatically.


Domain Packs

Pre-configured transform sets for common industries. All 5 are now implemented:

bash
goldenflow transform patients.csv --domain healthcaregoldenflow transform employees.csv --domain people_hrgoldenflow transform transactions.csv --domain financegoldenflow transform orders.csv --domain ecommercegoldenflow transform listings.csv --domain real_estate
Domain PackWhat It Covers
People/HRName parsing, SSN formatting, employment dates, gender/boolean standardization
HealthcarePatient IDs, diagnosis codes, clinical dates, HIPAA-sensitive field handling
FinanceCurrency normalization, account numbers, transaction dates, amount parsing
E-commerceSKU normalization, price parsing, order dates, address standardization
Real EstateProperty addresses, listing dates, price normalization, geo fields

Transform Library (76 transforms)

Text Transforms (18)

TransformWhat It Does
stripTrim whitespace
lowercase / uppercaseCase conversion
title_caseProper casing ("john smith" -> "John Smith")
normalize_unicodeNFKD normalization, strip accents
normalize_quotesSmart/curly quotes -> straight quotes
collapse_whitespaceMultiple spaces -> single space
truncate:NLimit to N characters
remove_punctuationStrip punctuation characters
remove_html_tagsStrip HTML markup from scraped data
remove_urlsStrip URLs from free-text fields
remove_digitsStrip numeric characters from text
remove_emojisStrip emoji characters
fix_mojibakeFix common UTF-8/Latin-1 encoding garbling
normalize_line_endingsNormalize \r\n and \r to \n
extract_numbersPull numeric values from mixed text
pad_left:N / pad_right:NPad to fixed width (account numbers, IDs)

Phone Transforms (5)

TransformWhat It Does
phone_e164Any format -> +15550123456
phone_nationalAny format -> (555) 012-3456
phone_digitsStrip to digits only
phone_validateFlag invalid numbers
phone_country_codeExtract country calling code

Name Transforms (8)

TransformWhat It Does
split_name"John Smith" -> first: "John", last: "Smith"
split_name_reverse"Smith, John" -> first: "John", last: "Smith"
strip_titles / strip_suffixesRemove Mr., Mrs., Dr., MD, PhD, etc.
name_proper"mcdonald" -> "McDonald", "o'brien" -> "O'Brien"
initial_expandFlag names with initials for review
nickname_standardize"Bob" -> "Robert", "Bill" -> "William"
merge_nameCombine first_name + last_name into full_name

Address Transforms (8)

TransformWhat It Does
address_standardize"Street" -> "St", "Avenue" -> "Ave"
address_expand"St" -> "Street", "Ave" -> "Avenue"
state_abbreviate / state_expand"Pennsylvania" <-> "PA"
zip_normalizeZero-pad, strip +4, validate
split_addressSingle line -> street, city, state, zip
country_standardize"United States" / "USA" -> "US" (ISO 3166)
unit_normalize"Apt" / "Apartment" / "#" -> "Unit"

Date Transforms (13)

TransformWhat It Does
date_iso8601Any format -> 2024-03-15
datetime_iso8601Any format -> 2024-03-15T15:30:00
date_us / date_euRegional format output
date_parseAuto-detect and normalize to ISO 8601
age_from_dobDate of birth -> age in years
extract_year / extract_month / extract_dayDecompose dates
extract_quarterDate -> Q1/Q2/Q3/Q4
extract_day_of_weekDate -> Monday, Tuesday, etc.
date_shiftAdd/subtract days (anonymization)
date_validateFlag invalid dates as boolean

Categorical Transforms (6)

TransformWhat It Does
category_auto_correctFuzzy-match misspellings to canonical values
category_standardizeMap variants to canonical values
category_from_fileLoad mapping from CSV/YAML file
boolean_normalize"Yes"/"Y"/"1"/"True" -> true
gender_standardize"Male"/"M"/"Female"/"F" -> M/F
null_standardize"N/A"/"NULL"/"none" -> null

Numeric Transforms (9)

TransformWhat It Does
currency_strip"$1,234.56" -> 1234.56
percentage_normalize"85%" -> 0.85
round:NRound to N decimal places
clampConstrain values to a min/max range
to_integerParse string to int, truncating decimals
abs_valueAbsolute value
fill_zeroReplace nulls with 0
comma_decimalEuropean format "1.234,56" -> 1234.56
scientific_to_decimal"1.5e3" -> 1500.0

Email Transforms (4)

TransformWhat It Does
email_lowercaseNormalize to lowercase
email_normalizeStrip +tags, strip Gmail dots, lowercase
email_extract_domain[email protected] -> example.com
email_validateFlag invalid email format

Identifier Transforms (3)

TransformWhat It Does
ssn_formatNormalize to XXX-XX-XXXX
ssn_maskRedact to ***-**-1234
ein_formatNormalize to XX-XXXXXXX

URL Transforms (2)

TransformWhat It Does
url_normalizeLowercase domain, ensure scheme, strip trailing slash
url_extract_domainExtract domain from URL

Special Modes

Strict Mode

Fail immediately if any transform error occurs — useful in CI or production pipelines:

bash
goldenflow transform data.csv --strict

Exits with code 1 and prints the first 5 errors if any transform fails.

LLM Mode

Use an LLM to enhance categorical corrections and handle edge cases that fuzzy matching misses:

bash
goldenflow transform data.csv --llm

Requires OPENAI_API_KEY or ANTHROPIC_API_KEY in your environment. Falls back to standard transforms gracefully.

Auto-Correct

category_auto_correct uses fuzzy matching to fix misspelled categorical values automatically. It is suppressed on high-cardinality columns (>10% unique values) to avoid false positives.

"actve" -> "active""Pennsylvnia" -> "Pennsylvania""Unted States" -> "United States"

YAML Config

For repeatable pipelines:

yaml
# goldenflow.yamlsource: customers.csvoutput: customers_clean.csv
transforms:  - column: name    ops: [strip, title_case]  - column: email    ops: [lowercase, strip]  - column: phone    ops: [phone_e164]  - column: state    ops: [state_abbreviate]  - column: signup_date    ops: [date_iso8601]
renames:  email_address: email  phone_number: phone
drop: [internal_id, temp_notes]
dedup:  columns: [email]  keep: first
bash
goldenflow transform customers.csv -c goldenflow.yaml

Generate a config from your data automatically:

bash
goldenflow learn data.csv -o config.yaml

Python API

python
import goldenflow
# Zero-configresult = goldenflow.transform_file("messy_data.csv")print(result.df)          # Clean Polars DataFrameprint(result.manifest)    # Audit trail
# With configfrom goldenflow import GoldenFlowConfig, TransformSpec, TransformEngine
config = GoldenFlowConfig(    transforms=[        TransformSpec(column="phone", ops=["phone_e164"]),        TransformSpec(column="date", ops=["date_iso8601"]),    ])engine = TransformEngine(config=config)result = engine.transform_df(df)

Jupyter Notebook Support

TransformResult, Manifest, and DatasetProfile all have _repr_html_() — they render as rich HTML tables automatically in Jupyter:

python
import goldenflow
result = goldenflow.transform_file("messy_data.csv")result           # renders as HTML table in Jupyterresult.manifest  # renders transform audit trail

TypeScript / JavaScript

GoldenFlow has a full TypeScript port with feature parity — same 83 transforms, same engine, same config format. The core is edge-safe (runs in browsers, Cloudflare Workers, Vercel Edge) with a Node layer for file I/O and CLI.

Install

bash
npm install goldenflow

CLI

bash
npx goldenflow-js transform data.csv              # Zero-confignpx goldenflow-js transform data.csv -c config.yaml  # With confignpx goldenflow-js profile data.csv                 # Column profilesnpx goldenflow-js learn data.csv -o config.yaml    # Generate confignpx goldenflow-js diff before.csv after.csv        # Compare filesnpx goldenflow-js map -s source.csv -t target.csv  # Schema mappingnpx goldenflow-js stream large.csv --chunk-size 50000  # Streamingnpx goldenflow-js demo                             # Generate sample datanpx goldenflow-js history                          # Show recent runs

TypeScript API

typescript
import { TransformEngine, makeConfig } from "goldenflow";
// Zero-config — auto-detect and fixconst engine = new TransformEngine();const result = engine.transformDf([  { name: "  John Smith  ", email: "[email protected]", phone: "(555) 123-4567" },  { name: "DR. JANE DOE", email: "  [email protected]  ", phone: "555.987.6543" },]);
console.log(result.rows);// [//   { name: "John Smith", email: "[email protected]", phone: "+15551234567" },//   { name: "Jane Doe", email: "[email protected]", phone: "+15559876543" },// ]console.log(result.manifest.records.length); // transforms applied
typescript
// Configured — explicit transforms per columnconst engine = new TransformEngine({  transforms: [    { column: "phone", ops: ["phone_e164"] },    { column: "email", ops: ["strip", "email_normalize"] },    { column: "name", ops: ["strip", "title_case"] },    { column: "state", ops: ["state_abbreviate"] },    { column: "price", ops: ["currency_strip"] },    { column: "signup_date", ops: ["date_iso8601"] },  ],  renames: { email_address: "email" },  drop: ["internal_id"],  dedup: { columns: ["email"], keep: "first" },});const result = engine.transformDf(rows);
typescript
// Schema mappingimport { SchemaMapper } from "goldenflow";
const mapper = new SchemaMapper();const mappings = mapper.map(  [{ fname: "John", lname: "Smith", email_address: "[email protected]" }],  [{ first_name: "", last_name: "", email: "" }],);// [{ source: "fname", target: "first_name", confidence: 0.95 }, ...]
typescript
// Streaming large datasetsimport { StreamProcessor } from "goldenflow";
const processor = new StreamProcessor({ transforms: [{ column: "name", ops: ["strip"] }] });for (const result of processor.streamRows(largeDataset, 10_000)) {  await writeChunk(result.rows);}
typescript
// Profilingimport { profileDataframe } from "goldenflow";
const profile = profileDataframe(rows, "customers.csv");for (const col of profile.columns) {  console.log(`${col.name}: ${col.inferredType}, ${col.nullCount} nulls, ${col.uniqueCount} unique`);}
typescript
// Edge-safe import (browsers, Workers, Edge Runtime)import { TransformEngine } from "goldenflow/core";
// Node-only import (includes file I/O, MCP, CLI)import { readFile, TransformEngine } from "goldenflow/node";

MCP Server (TypeScript)

typescript
import { TOOL_DEFINITIONS, handleTool } from "goldenflow/node";
// TOOL_DEFINITIONS: 10 MCP tools for Claude Desktop// handleTool("transform", { path: "data.csv" }) → JSON string

REST API (TypeScript)

typescript
import { runServer } from "goldenflow/node";runServer(8000); // Starts HTTP server with /health, /transforms, /transform

Public API (34 exports)

python
from goldenflow import (    # Core engine    TransformEngine, TransformResult,    # Config    GoldenFlowConfig, TransformSpec, SplitSpec, FilterSpec, DedupSpec, MappingSpec,    # Convenience    transform_file, transform_df,    # Manifest    Manifest, TransformRecord, TransformError,    # Profiler    DatasetProfile, ColumnProfile,    # Selector & differ    select_transforms, diff_dataframes, DiffResult,    # Transform registry    TransformInfo, register_transform, get_transform, list_transforms, parse_transform_name,    # Mapping    SchemaMapper, ColumnMapping,    # Config helpers    load_config, save_config, merge_configs, learn_config,    # Domains    DomainPack, load_domain,    # Connectors    read_file, write_file,)

Integrations

REST API

bash
goldenflow serve --host 0.0.0.0 --port 8000

POST CSV data, get transformed CSV back. Built with FastAPI.

MCP Server

bash
goldenflow mcp-serve

Exposes GoldenFlow as an MCP tool for Claude Desktop. Configure in your Claude Desktop settings.

TUI

bash
goldenflow interactive data.csv

Full-featured terminal UI built with Textual. Browse profiles, apply transforms, preview results.

Remote MCP Server

GoldenFlow is available as a hosted MCP server on Smithery — connect from any MCP client without installing anything.

Claude Desktop / Claude Code:

json
{  "mcpServers": {    "goldenflow": {      "url": "https://goldenflow-mcp-production.up.railway.app/mcp/"    }  }}

Local server:

bash
pip install goldenflow[mcp]goldenflow mcp-serve

10 tools available: transform files, auto-map schemas, profile columns, generate configs, diff before/after, apply domain packs.


Part of the Golden Suite

ToolPurposePythonTypeScript
GoldenCheckValidate & profile data qualitypip install goldenchecknpm install goldencheck
GoldenFlowTransform & standardize datapip install goldenflownpm install goldenflow
GoldenMatchDeduplicate & match recordspip install goldenmatch—
GoldenPipeOrchestrate the full pipelinepip install goldenpipe—
Raw Data   |   v+--------------+|  GoldenCheck |  <- Discover quality issues|  goldencheck ||  scan data   |+------+-------+       | findings       v+--------------+|  GoldenFlow  |  <- Fix issues, standardize, reshape|  goldenflow  ||  transform   |+------+-------+       | clean data       v+--------------+|  GoldenMatch |  <- Deduplicate, match, create golden records|  goldenmatch ||  dedupe      |+------+-------+       | golden records       v   Clean, deduplicated,   production-ready data

Chain them:

bash
goldencheck scan data.csv | goldenflow transform --from-findings | goldenmatch dedupe

Performance

Built on Polars (Rust-backed DataFrames). Transforms use a hybrid approach: native Polars expressions stay in the Rust engine for simple transforms (strip, lowercase), while complex transforms (phone parsing, date parsing) use optimized Python via map_batches.


Benchmarks

GoldenFlow scores 100/100 on the DQBench transform benchmark across all three tiers (customer database, e-commerce, healthcare claims).

bash
pip install dqbenchdqbench run goldenflow

Why GoldenFlow?

GoldenFlowpandas scriptsGreat ExpectationsdbtDataprep.Clean
Zero-config transformsYes (auto-detect)NoNo (validation only)No (SQL transforms)Partial
76 built-in transforms (11 categories)YesManualNo (validator, not transformer)Via SQL~30 cleaners
Domain packs (healthcare, finance...)5 built-inNoNoNoNo
Schema mappingAuto + manualManualNoVia ref/sourceNo
Audit trail (manifest)Automatic JSONManualNoVia logsNo
Streaming / large filesBuilt-inManual chunkingNoYes (warehouse)No
MCP serverYesNoNoNoNo
Polars-nativeYesNo (pandas)No (pandas/Spark)No (SQL)No (pandas)
DQBench transform score100/100N/AN/AN/AN/A

GoldenFlow is purpose-built for the transform step between validation and matching — not a general ETL tool. It turns messy data into clean, standardized data automatically.


Error Handling

GoldenFlow catches errors at the CLI boundary and shows friendly, actionable messages — no raw stack traces. Individual transform errors are captured in the manifest rather than crashing the run. Use --strict to change this behavior.


Progress Bars

Long-running operations (streaming, watch mode, scheduling) display a Rich progress spinner showing batch count, rows processed, and estimated completion.


GitHub: github.com/benzsevern/goldenflow Author: Ben Severn License: MIT Python: 3.11+ | Node.js: 20+ | npm: goldenflow | PyPI: goldenflow

Source: README.md at commit 7ce97e8

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v2.2.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts