Contract (core)¶
The dependency-free heart of the library: the ports every adapter implements, the domain models, the results the ports reference, and the error taxonomy. This is the frozen surface — everything else either implements a port here or orchestrates ports defined here (see Architecture).
Ports¶
Structural contracts (typing.Protocol). First-party adapters subclass
their port explicitly so the type checker verifies completeness; third-party
code may conform purely structurally.
Maps text to dense vectors. |
|
Spec for a vector-index backend — stateless and reusable. |
|
Immutable fitted artifact produced by |
|
Spec for candidate generation — stateless and reusable. |
|
Immutable fitted artifact produced by |
|
A second comparison-space reduction, distinct from blocking: prune a candidate set before matching. |
|
Groups a |
|
Produces a frozen component from supervised data (v2, |
Models¶
A pair to be matched. |
|
A successful decision — |
|
A pair the matcher could not decide (retries exhausted / backend error). |
|
Data-bound config travelling with a frame. |
Results¶
All candidate pairs with their match decisions. |
|
Entity clusters as a record-id -> cluster-id map (sklearn-style labels). |
|
The gold set of true matches — one type everywhere. |
|
Supervised material for a Trainer (v2). |
Errors¶
The hard-failure taxonomy. DenseLinkageError is the catchable root for
data / runtime failures; API misuse raises a plain ValueError, kept
deliberately outside this family.
Root of every hard failure raised by denselinkage. |
|
|
|
|
|
|
|
An embedder's output width does not match the vector index (or a query embedding does not match the indexed vectors). |
|
A blocker |
|
A persisted index cannot be reloaded as requested: the re-supplied embedder's |