Define Comparator equality functions for more types
- Dominant language
- Python
- Stars
- 521
- Forks
- 86
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 35
Description
The `Comparator` in Param is used to check if a Parameter value has changed and therefore needs to trigger all watchers to inform them of this change. The `Comparator` was designed to be extended to support different object types and should cover at least the basic types that Param supports. There is also a tradeoff though, if a comparison is more expensive than the computations that could be triggered by the parameter value change then it's not worth it. For that reason we initially did not implement comparisons for things like arrays, however we should consider implementing some kind of size based cut-off where the comparator just gives up.
Here's a list of objects that we should definitely implement comparisons for:
- `pathlib.Path`
and here's some objects that we should at least consider:
- `np.ndarray`
- `pd.Series`
- `pd.DataFrame`
There's probably many I've missed.
Contributor guide
Assessment
This issue has not been assessed yet.