-
-
Notifications
You must be signed in to change notification settings - Fork 13
TypeScript API
bsevern edited this page Apr 14, 2026
·
1 revision
GoldenMatch is also published as an npm package with full feature parity.
npm install goldenmatchimport { dedupe } from "goldenmatch";
const rows = [
{ id: 1, name: "John Smith", email: "john@example.com", zip: "12345" },
{ id: 2, name: "Jon Smith", email: "john@example.com", zip: "12345" },
{ id: 3, name: "Jane Doe", email: "jane@example.com", zip: "54321" },
];
const result = dedupe(rows, {
fuzzy: { name: 0.85 },
blocking: ["zip"],
threshold: 0.85,
});
console.log(result.stats);// Edge-safe core — browsers, Workers, Edge Runtime, Deno
import { dedupe, match, scoreStrings } from "goldenmatch";
// Node-only — file I/O, HTTP servers, DB connectors
import { readFile, writeCsv, startApiServer } from "goldenmatch/node";
// CLI
// npx goldenmatch-js dedupe data.csv --output golden.csv| Scorer | Use case | Example |
|---|---|---|
exact |
Exact equality |
"abc" === "abc" -> 1 |
jaro_winkler |
Short strings (names) |
MARTHA vs MARHTA -> 0.9611 |
levenshtein |
Normalized edit distance |
kitten vs sitting -> 0.5714 |
token_sort |
rapidfuzz Indel on sorted tokens |
New York Mets vs Mets New York -> 1.0 |
soundex_match |
Phonetic match |
Smith = Smyth (S530) |
dice, jaccard
|
PPRL bloom filters | - |
ensemble |
Max of JW + token_sort + soundex*0.8 | - |
npx goldenmatch-js mcp-serve # MCP for Claude Desktop / Code
npx goldenmatch-js serve --port 8000 # REST API
npx goldenmatch-js agent-serve # A2A agent
npx goldenmatch-js tui data.csv # Interactive TUIZero-dep install works. Install what you need:
| Peer dep | Unlocks |
|---|---|
yaml |
YAML config loading |
hnswlib-node |
Sub-linear ANN blocking |
@huggingface/transformers |
ONNX cross-encoder |
piscina |
Worker-thread parallel scoring |
ink + widgets |
Interactive TUI |
pg |
Postgres + sync |
@duckdb/node-api |
DuckDB |
snowflake-sdk, @google-cloud/bigquery, @databricks/sql
|
Cloud warehouses |
- Probabilistic matching - Fellegi-Sunter with Splink-style EM
- PPRL - SHA-256 bloom filters, byte-for-byte Python interop, 3 security levels
- Graph ER - Multi-table entity resolution with evidence propagation
- Streaming - Incremental single-record matching
- Memory - Persistent corrections + threshold learning
- Sensitivity - Parameter sweep with CCMS/TWI
| Feature | Python | TypeScript |
|---|---|---|
| Core matching | Polars + rapidfuzz | Pure TS |
| Fellegi-Sunter | Yes | Yes |
| PPRL | SHA-256 | SHA-256 (byte-parity) |
| LLM | OpenAI/Anthropic | Same (via fetch, edge-safe) |
| Cross-encoder | sentence-transformers | @huggingface/transformers |
| ANN blocking | FAISS | hnswlib-node |
| Parallel | Threads + Ray | piscina |
| TUI | Textual | Ink |
| Edge-safe core | No | Yes |
11 runnable examples: https://github.com/benzsevern/goldenmatch/tree/main/packages/goldenmatch-js/examples
⚡ 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