DeepDiff 6.3.0 documentation!¶
The DeepDiff library includes the following modules:
DeepDiff For Deep Difference of 2 objects. DeepDiff
It return the deep Difference of python objects. It can also be used to take the distance between objects. Deep Distance
DeepSearch Search for objects within other objects. DeepSearch
DeepHash Hash any object based on their content even if they are not “hashable” in Python’s eyes. DeepHash
Delta Delta of objects that can be applied to other objects. Imagine git commits but for structured data. Delta
Extract For extracting a path from an object Extract
Commandline Most of the above functionality is also available via the commandline module Command Line
What is New¶
PrefixOrSuffixOperator: This operator will skip strings that are suffix or prefix of each other.
Include Obj Callback and Include Obj Callback Strict are added by Håvard Thom.
Fixed a corner case where numpy’s
np.float32nans are not ignored when using
ignore_nan_equalityby Noam Gottlieb
orjsonbecomes optional again.
ignore_type_in_groupswith numeric values so it does not report number changes when the number types are different.
Major improvement in the diff report for lists when items are all hashable and the order of items is important.
Tutorials can be found on Zepworks blog
Install from PyPi:
pip install deepdiff
If you want to use DeepDiff from commandline:
pip install "deepdiff[cli]"
If you want to improve the performance of DeepDiff with certain processes such as json serialization:
pip install "deepdiff[optimize]"
Read about DeepDiff optimizations at Optimizations
>>> from deepdiff import DeepDiff # For Deep Difference of 2 objects >>> from deepdiff import grep, DeepSearch # For finding if item exists in an object >>> from deepdiff import DeepHash # For hashing objects based on their contents >>> from deepdiff import Delta # For creating delta of objects that can be applied later to other objects. >>> from deepdiff import extract # For extracting a path from an object
if you want to use DeepDiff via commandline, make sure to run:: pip install “deepdiff[cli]”
Then you can access the commands via:
$ deep diff --help
$ deep patch --help
$ deep grep --help
$ deep extract --help
int, string, unicode, dictionary, list, tuple, set, frozenset, OrderedDict, NamedTuple, Numpy, custom objects and more!
- Customized Diff
- Deep Distance
- Exclude Paths
- Include Paths
- Ignore Order
- Ignore Types Or Values
- Other Parameters
- Stats and Logging
- Command Line