satif_core.comparators.base
Comparator Objects
class Comparator(abc.ABC)
Abstract base class for file comparators.
Defines the common interface for comparing two files of a specific type and generating a structured report on their equivalence and differences.
compare
@abc.abstractmethod
def compare(file_path1: Path,
file_path2: Path,
file_config: Optional[dict[str, Any]] = None,
**kwargs: Any) -> Dict[str, Any]
Compares two files and returns a detailed report.
Arguments:
file_path1
- Path to the first file.
file_path2
- Path to the second file.
file_config
- Configuration for the files for parsing.
**kwargs
- Comparator-specific options (e.g., ignore_row_order for CSV).Returns:
A dictionary containing the comparison results, typically including: {
"files"
- {"file1": str, "file2": str},"comparison_params"
- {param_name: value, ...}, // Parameters used"are_equivalent"
- bool, // Overall equivalence based on findings"summary"
- List[str], // High-level summary of findings"details"
- { ... } // Detailed breakdown of differences (structure depends on comparator) }