denselinkage.core.models.Source

class denselinkage.core.models.Source(frame: pd.DataFrame, id_column: str, serializer: Serializer | None = None)[source]

Bases: object

Data-bound config travelling with a frame.

The Source -> Sequence[Record] materialization is the one orchestration boundary that is otherwise implicit; it is named: the internal denselinkage._reader.RecordReader`. It resolves ``serializer=None to denselinkage.serializing.default_serializer() (a WholeRowSerializer), applies the serializer’s column_mapping when present, and validates the frame — raising the denselinkage.core.errors taxonomy (UnknownIdColumn if id_column is absent, EmptySource if no rows, DuplicateRecordId on duplicate ids).