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 分