denselinkage.core.models.CandidatePair

class denselinkage.core.models.CandidatePair(record_a: Record, record_b: Record, similarity_score: float | None = None)[source]

Bases: object

A pair to be matched.

similarity_score is float | None. A dense Blocker always sets it; pairs supplied to DenseLinker.match_pairs from external / rule-based blocking have no similarity and use None. similarity_score is an informational hint: a Matcher implementation may use it as a shortcut or feature signal, but must not rely on its presence (matchers must gracefully handle None when pairs originate from external blocking). CandidatePair is frozen so this shape is fixed before freeze — never tightened later (extend-never-modify).