-
-
Notifications
You must be signed in to change notification settings - Fork 13
Quick Start
Run the setup wizard to configure GPU, API keys, and database:
goldenmatch setupThis is optional — GoldenMatch works out of the box with CPU-safe mode.
Point GoldenMatch at a CSV and it figures out the rest:
goldenmatch dedupe customers.csvGoldenMatch will:
- Analyze your columns (detect names, emails, phones, etc.)
- Pick appropriate scorers for each column type
- Choose a blocking strategy
- Show a gold-themed auto-config summary screen
- Let you run immediately, adjust settings, or save for next time
Press F5 to run, E to edit config, or ? to see all keyboard shortcuts.
For full control, write a YAML config:
# config.yaml
matchkeys:
- name: exact_email
type: exact
fields:
- field: email
transforms: [lowercase, strip]
- name: fuzzy_name
type: weighted
threshold: 0.85
fields:
- field: name
scorer: jaro_winkler
weight: 1.0
transforms: [lowercase, strip]
blocking:
keys:
- fields: [email]
transforms: [lowercase]goldenmatch dedupe customers.csv --config config.yaml --output-all --output-dir results/goldenmatch match new_leads.csv --against existing_customers.csv --config config.yaml --output-allpip install goldenmatch[postgres]
goldenmatch sync \
--table customers \
--connection-string "postgresql://user:pass@localhost/mydb" \
--config config.yamlpip install goldenmatch[llm]
# Set API key
export ANTHROPIC_API_KEY=sk-ant-...
# First run labels pairs with Claude (~$0.30), trains local model
goldenmatch dedupe products.csv --llm-boost
# Subsequent runs use saved model ($0)
goldenmatch dedupe products.csv --llm-boostIf you have humans reviewing borderline pairs, persist their decisions so the same correction never has to be made twice.
# add to your config
memory:
enabled: true
backend: sqlite
path: .goldenmatch/memory.db
reanchor: true
dataset: customersgoldenmatch dedupe customers.csv --config goldenmatch.yml # 1. produce review queue
goldenmatch review --config goldenmatch.yml # 2. steward decides
goldenmatch dedupe customers.csv --config goldenmatch.yml # 3. corrections apply
# > Memory: 12 corrections applied, 0 stale, 0 stale-ambiguous, 0 unanchorableCorrections re-anchor across row reorders via record_hash. After 10+ corrections accumulate against a matchkey, goldenmatch memory learn adjusts that matchkey's threshold automatically. See Learning-Memory for the full feature.
With --output-all, GoldenMatch produces:
| File | Contents |
|---|---|
golden_records.csv |
Merged canonical records |
clusters.csv |
Which records belong to which cluster |
duplicates.csv |
Records identified as duplicates |
unique.csv |
Records with no duplicates |
⚡ 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