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
dict1 = {"arr": np.array([1, 2, 3])}
dict2 = {"arr": np.array([1, 2, 3])}
assert deep_equality_check(dict1, dict2)deep_equality_check
deep_equality_check(
obj1 ,
obj2 ,
visited = None,
)
Compare nested objects while handling circular references.
Supports NumPy arrays, pandas DataFrames, dictionaries, and objects with __dict__ attributes.
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.