Metadata-Version: 2.4
Name: goldenmatch-native
Version: 0.2.1
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Database
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Summary: Optional native (Rust/PyO3) acceleration kernels for goldenmatch
Keywords: goldenmatch,golden-suite,entity-resolution,deduplication,record-linkage,fuzzy-matching,jaro-winkler,levenshtein,rust,pyo3,native-extension,performance
Author-email: Ben Severn <ben@bensevern.dev>
License: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: AI agents (llms.txt), https://docs.bensevern.dev/docs/llms.txt
Project-URL: Documentation, https://docs.bensevern.dev/docs/goldenmatch
Project-URL: Homepage, https://github.com/benseverndev-oss/goldenmatch
Project-URL: Issues, https://github.com/benseverndev-oss/goldenmatch/issues
Project-URL: Repository, https://github.com/benseverndev-oss/goldenmatch

# goldenmatch-native

Optional native (Rust/PyO3) acceleration kernels for
[goldenmatch](https://github.com/benseverndev-oss/goldenmatch).

This is **not** a standalone package — it ships only the compiled `abi3`
extension that `goldenmatch` loads when present. Mirrors the
`polars` / `polars-runtime` split: the `goldenmatch` frontend stays a
pure-Python wheel, and the compiled runtime is distributed separately.

## Install

```bash
pip install "goldenmatch[native]"   # frontend + this runtime
```

Installing `goldenmatch` alone keeps the pure-Python paths; adding the
`native` extra pulls this package in and `goldenmatch` picks it up
automatically — no code change required. With the runtime present, the
auto-config planner routes simple/fast-box plans through the native Arrow
block-scorer (measured 1.7–3.7x faster at 1k–60k rows, identical clusters).

Set `GOLDENMATCH_PLANNER_BUCKET=0` to force the pure-Python scoring path even
with the runtime installed.

## What's inside

A single abi3 extension (`goldenmatch_native._native`) covering the gated
kernels: record fingerprinting, block scoring, pair generation, featurize, and
connected-components clustering. CPython 3.11+ on a per-platform wheel.

## License

MIT.

