denselinkage.core.ports.Clusterer

class denselinkage.core.ports.Clusterer(*args, **kwargs)[source]

Bases: Protocol

Groups a LinkageResult’s matches into entity clusters — a swappable strategy, not a fixed step. ConnectedComponentsClusterer (wrapping the connected_components reference function) declares this port; alternative algorithms (e.g. agglomerative, incremental) conform here. Pure over an already-computed LinkageResult; carries no blocking/matching state.