Versions below are the current release versions. Each surface versions
independently — the TypeScript packages carry their own semver and expose a
smaller, edge-first surface, not a lagging copy of the Python one. See
Python vs TypeScript: the surface boundary.
Capability matrix
What each package ships, at a glance. MCP counts are the Python server’s tools (the TS server exposes a subset — see the surface boundary). A dash means the package does not ship that surface.Python vs TypeScript: the surface boundary
The two libraries are not “a full version and a lagging copy” — they are two surfaces with different jobs, and the tool-count gap is a design boundary, not neglect:- Python is the fuller stateful server. It holds datasets, runs, clusters, and
the identity graph server-side, so it exposes the deeper state tools the TS surface
doesn’t — run mutation (
unmerge_record,shatter_cluster), incremental resolution, and theidentity_*audit trio — plus the subsystems that live only there: domain packs, PPRL, the routing planner, and document ingest. - TypeScript is the edge-first surface. Its edge-safe core
dedupe()returns stats and clusters inline, and — since it added an opt-in, node-only run store plus an on-disk run log on the MCP server — it now also serves the read-query tools (get_stats,get_cluster,list_clusters,get_golden_record,export_results) over the last run and the rollback subsystem (list_runs,rollback) over the.goldenmatch_runs.jsonlog, so those are shared too. (These stateful tools live in the node-only MCP server, not the edge-safe core.) It also ships edge primitives the Python server doesn’t:score_strings,score_pair,find_exact_matches,find_fuzzy_matches,read_file,write_csv, andserver_info.
api_parity gate, which fails on any undeclared Python↔TS
drift.
Versions track independently. Each surface carries its own semver — npm is not
pinned to the PyPI number — so a lower TypeScript version reflects a smaller,
slower-moving surface, not a stale one. (InferMap’s TS and Python are at the same
version; GoldenGraph’s TS is ahead of its Python.) See the
versioning policy for why the lines are not kept in
lockstep and how cross-surface parity is guaranteed instead.
Install
pip install <pkg>[mcp]
(Python) or the <pkg>-mcp npm bin.
GoldenMatch
Zero-config entity resolution: dedupe, match, cluster, survivorship, identity graph, privacy-preserving linkage. The flagship — a native wheel, SQL extensions (Postgres + DuckDB), REST, and A2A; the only package with a SQL surface. Python —import goldenmatch
TypeScript —
import { dedupe, match, autoConfigureRows, enableWasm } from "goldenmatch"
CLI — goldenmatch <cmd>: autoconfig, dedupe, match, review, explain,
identity, pprl, memory, serve, serve-ui, mcp-serve, agent-serve, … (30+ commands)
Servers — REST (goldenmatch serve: /match, /autoconfig, /clusters,
/reviews, /controller/telemetry, …) · A2A (goldenmatch agent-serve) · local
web UI (goldenmatch serve-ui) · 82 MCP tools.
Native / SQL — goldenmatch-native wheel, a Postgres extension (pgrx:
goldenmatch_dedupe, goldenmatch_autoconfig, goldenmatch_connected_components, …),
and a DuckDB extension.
→ Python API · TypeScript ·
REST · MCP · Agent ·
API quick reference
GoldenCheck
Data-quality scanning: profile a dataset, discover rules automatically, emit findings with severities, auto-triage and fix, diff two versions. Python —import goldencheck
TypeScript —
import { scanData, createBaseline, runDriftChecks } from "goldencheck"
CLI — goldencheck <cmd>: scan, validate, fix, diff, baseline,
refs, scan-db, serve, mcp-serve, agent-serve, …
Servers — REST (goldencheck serve: /scan, /checks, /domains) · A2A
(9 skills) · 19 MCP tools.
Native — goldencheck-native wheel.
→ Overview · CLI ·
Native · Integrations
GoldenFlow
Data transformation: 113 built-in transforms across categories (phone, date, address, name, categorical, identifiers, …), a transform registry, schema mapping, and owned identifier kernels (card / IBAN / ISBN / EAN / VAT / SWIFT / ABA / IMEI). Python —import goldenflow
TypeScript —
import { TransformEngine, canonicalize, enableWasm } from "goldenflow"
CLI — goldenflow <cmd>: transform, map, profile, learn, diff,
stream, serve, mcp-serve, agent-serve, …
Servers — REST (goldenflow serve: /transforms, /transform, /map) · A2A
(6 skills) · 10 MCP tools.
Native — goldenflow-native wheel; the pure canonicalizers are also compiled
to a goldenflow-core Rust kernel (opt-in WASM in TS).
→ Overview · CLI · Performance
GoldenPipe
Pipeline orchestration: chains Check → Flow → Match into one adaptive call, with a planner that validates stage wiring (consumes/produces), routes on decision
gates, and explains every choice.
Python — import goldenpipe as gp
The planner is a pyo3-free
goldenpipe-core Rust kernel — the single reference
that Python and edge-TS compute identically. It auto-prepends the load stage,
validates each stage’s consumes against the artifacts produced upstream (in
declared order), and raises a typed WiringError when an input isn’t produced.
Opt into the WASM kernel in TypeScript with enableWasm().
TypeScript — import { runDf, Pipeline, StageRegistry, enableWasm } from "goldenpipe"
CLI — goldenpipe <cmd>: run, stages, validate, init, serve,
mcp-serve, agent-serve, interactive.
Servers — REST (goldenpipe serve: /stages, /validate, /run) · A2A
(4 skills) · 4 MCP tools (run_pipeline, validate_pipeline, list_stages,
explain_pipeline).
→ Overview
GoldenAnalysis
Read-only cross-cutting reporting: run analyzers over any package’s artifacts, build trends across runs, and gate regressions. Python —import goldenanalysis
TypeScript —
import { analyze, buildTrend, detectRegressions } from "goldenanalysis"
CLI — goldenanalysis <cmd>: report, trend, regressions, mcp-serve.
Servers — 4 MCP tools (analyze_frame, detect_regressions, get_trend,
list_analyzers). No REST or A2A server — it is a reporting library, not a service.
→ Overview · Cross-run ·
Native
InferMap
Schema / column mapping: align source columns to a target schema with Hungarian assignment over pluggable field scorers, plus domain detection. Python —import infermap
TypeScript —
import { map, MapEngine, detectDomain } from "infermap"
CLI — infermap <cmd>: map, apply, inspect, validate, mcp-serve.
Servers — 4 MCP tools (map, apply, inspect, validate). Ships the
infermap-native wheel (Rust core; WASM/SQL deferred); no SQL, REST, or A2A.
→ Overview
Same operation, every surface
The suite’s design goal is one computation reachable identically from anywhere. GoldenMatch’s auto-config is the canonical example — the same config + telemetry comes back whether you call it from Python, the CLI, REST, MCP, an agent, or SQL:Coverage notes
- Two surfaces, one core. Every package has a TS twin. Python is the fuller stateful server; TypeScript is the edge-first surface, with its own independent semver. The tool-count and version differences are a design boundary, not lag — see Python vs TypeScript: the surface boundary.
- REST + A2A are for the service-shaped packages only — GoldenMatch, GoldenCheck, GoldenFlow, and GoldenPipe. GoldenAnalysis and InferMap ship a CLI and an MCP server but no long-running HTTP service.
- Native acceleration is a compiled Rust kernel behind a pure-Python/TS
fallback. GoldenMatch, GoldenCheck, GoldenFlow, GoldenAnalysis, and InferMap ship
it; GoldenPipe’s
goldenpipe-coreis the planner-only reference (execution stays in the host language). - SQL extensions (Postgres + DuckDB) are GoldenMatch-only.
Authoritative type signatures live in each package’s source (
<pkg>/__init__.py
and the config schema modules). This page maps the surface; the linked deep pages
carry the full signatures and examples.