import numpy as np
from dascore.utils.misc import deep_equality_check
# Basic usage
assert deep_equality_check({"a": 1}, {"a": 1})
# With numpy arrays
= {"arr": np.array([1, 2, 3])}
dict1 = {"arr": np.array([1, 2, 3])}
dict2 assert deep_equality_check(dict1, dict2)
deep_equality_check
deep_equality_check(
obj1 ,
obj2 ,
visited = None,
)
Deep equality comparison for dictionaries and nested objects.
Handles circular references, numpy arrays, pandas DataFrames, and objects with dict attributes. This function provides comprehensive equality checking that goes beyond Python’s default equality operators.
Parameters
Parameter | Description |
---|---|
obj1, obj2 |
The objects to compare. Can be dictionaries, objects with dict, numpy arrays, pandas DataFrames, or any other objects. |
visited |
Set to track visited object pairs for circular reference detection. Internal parameter used during recursion. |
Returns
bool True if the objects are deeply equal, False otherwise.