Source code for preclink.decide.protocols

"""Protocols for decision rules."""

from typing import Protocol, runtime_checkable

import pandas as pd


[docs] @runtime_checkable class DecisionRule(Protocol): """Protocol for matching decision algorithms."""
[docs] def decide(self, scored_pairs: pd.DataFrame) -> pd.DataFrame: """Select final matches from scored candidate pairs. Args: scored_pairs: DataFrame with candidate pairs and scores. Must contain 'left_index', 'right_index', and 'score' columns. Returns: DataFrame with selected matches. """ ...