GoldenFlow

io.github.benseverndev-oss由 GitHub 帳號 benseverndev-oss 發布v2.2.0更新於 Oct 24, 2026

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

已驗證Streamable HTTP可網頁執行資料庫檔案與儲存資料與分析

概覽

AI 產生的概覽

GoldenFlow 是一套資料轉換工具,讓助理清理、標準化並重塑雜亂的 CSV、Excel、Parquet、雲端儲存或資料庫資料。

可以做什麼
以零設定自動辨識或已儲存的 YAML 設定轉換檔案,並產生記錄每項變更的稽核清單(R25、R33、R34)。分析欄位概況、從資料樣式產生設定、比對轉換前後檔案,並在不同來源之間自動對應欄位結構(R36、R57、R58)。套用醫療、人事、金融、電商和房地產等產業預設包(R62、R63)。透過內建轉換庫將電話、日期、姓名、地址、電子郵件、分類和數值標準化(R70、R71)。讀寫 S3 與 GCS 路徑、以分塊串流處理大型檔案,並監看目錄或依排程重複執行轉換(R41、R43、R46、R49)。
適用情境
當輸入資料不一致——日期格式混雜、電話號碼樣式繁多、欄位名稱不符或分類值雜亂——而你需要可重複、可稽核的清理,再進行分析、比對或寫入資料管線時適用(R10、R17、R20)。
執行需求
可作為託管的遠端端點執行,也可作為本機程序執行;本機伺服器需從 PyPI 安裝含 mcp 附加項的套件,並以 mcp-serve 指令啟動(R195、R196)。雲端連接器需要對應 S3 或 GCS 儲存桶的存取權限(R43)。LLM 增強模式需要 OPENAI_API_KEY 或 ANTHROPIC_API_KEY 環境變數(R166)。
安裝前請注意
轉換會寫出結果檔案,可能在指定路徑(包括雲端儲存位置)建立或覆寫資料(R33、R43)。監看與排程模式會在檔案到達時自動變更檔案(R46、R49)。設定 API 金鑰後,LLM 模式會將資料傳送給 OpenAI 或 Anthropic(R165、R166)。產業預設包會處理 SSN 與 HIPAA 相關等敏感欄位,分享前應檢查輸出(R65、R66)。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 GoldenFlow,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.benseverndev-oss%2Fgoldenflow/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "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

來源:README.md,提交 7ce97e8

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v2.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分