Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

matchlab

A local-first library for building, running and evaluating entity resolution pipelines.

Record matching is a chore. matchlab makes it a pipeline you can build, run, query and measure — on your machine, against your warehouse, with nothing to deploy.

import matchlab as mb

companies = mb.read_database(
    name="crn",
    sql="select pk, company, town from companies",
    client=warehouse,
    key_field="pk",
)

entities = (
    companies.clean({"name": "lower(crn_company)"})
    .dedupe(
        model_class=mb.NaiveDeduper,
        model_settings={"unique_fields": ["name"]},
    )
    .resolve()
    .collect()
)

entities.lookup_key(from_source="crn", to_sources=["dh"], key="a1")

Read the full documentation.

What it does

  • A lazy plan. Source(...).dedupe(...).resolve() builds a tree of steps. Nothing runs until you collect().
  • Content-addressed caching. Re-collecting an unchanged plan does no work. Adding a step runs only that step.
  • Materialised resolver output. A collected resolver writes a complete (root, leaf, key, source) table, so lookups are reads, not re-derivations.
  • Measurement as a first-class job. Sample clusters, record judgements, score precision and recall, and compare methodologies on equal terms.

What it doesn't do

No server, no accounts, no permissions, nothing to deploy. If you need a shared, governed matching service, matchlab is not that.

Installation

pip install matchlab

Coming from Matchbox?

matchlab is the successor to matchbox-db, with the server removed and the client API rebuilt. It's a hard break — see the migration guide.

Development

See our full development guide and coding standards on our contribution guide.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matchlab-0.1.0.dev2.tar.gz (405.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matchlab-0.1.0.dev2-py3-none-any.whl (163.0 kB view details)

Uploaded Python 3

File details

Details for the file matchlab-0.1.0.dev2.tar.gz.

File metadata

  • Download URL: matchlab-0.1.0.dev2.tar.gz
  • Upload date:
  • Size: 405.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for matchlab-0.1.0.dev2.tar.gz
Algorithm Hash digest
SHA256 df4ffa3701d960ca46112e19bc46d0e98ca22c05cad485086d028225ced6ada9
MD5 519b7e23492d1e093880b76b279575de
BLAKE2b-256 c4771dc3a1cdaa5786c70c898c01b67bfccecb6b6d4c7103b156939e38772f91

See more details on using hashes here.

File details

Details for the file matchlab-0.1.0.dev2-py3-none-any.whl.

File metadata

  • Download URL: matchlab-0.1.0.dev2-py3-none-any.whl
  • Upload date:
  • Size: 163.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for matchlab-0.1.0.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 30ef3be14ee464fab65ce62674b5604dfc0495ee352e5d7da9221fc05f1d7fb4
MD5 ed628db667f9a8f2aa67004856d6e105
BLAKE2b-256 44627360bfbd913b1918494423330b8cee3752c2db8e85998dd37dc62f862057

See more details on using hashes here.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page