DeepDiff 8.2.0 documentation!

Modules

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

DeepDiff 8-2-0

  • Small optimizations so we don’t load functions that are not needed

  • Updated the minimum version of Orderly-set

  • Normalize all datetimes into UTC. Assume timezone naive datetimes are UTC.

DeepDiff 8-1-0

  • Removing deprecated lines from setup.py

  • Added prefix option to pretty()

  • Fixes hashing of numpy boolean values.

  • Fixes slots comparison when the attribute doesn’t exist.

  • Relaxing orderly-set reqs

  • Added Python 3.13 support

  • Only lower if clean_key is instance of str

  • Fixes issue where the key deep_distance is not returned when both compared items are equal

  • Fixes exclude_paths fails to work in certain cases

  • exclude_paths fails to work

  • Fixes to_json() method chokes on standard json.dumps() kwargs such as sort_keys

  • to_dict() method chokes on standard json.dumps() kwargs

  • Fixes accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty

  • Fixes accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty

Tutorials

Tutorials can be found on Zepworks blog

Installation

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

Note

if you want to use DeepDiff via commandline, make sure to run:: pip install “deepdiff[cli]”

Then you can access the commands via:

  • DeepDiff

$ deep diff --help
  • Delta

$ deep patch --help
  • grep

$ deep grep --help
  • extract

$ deep extract --help

int, string, unicode, dictionary, list, tuple, set, frozenset, OrderedDict, NamedTuple, Numpy, custom objects and more!

References

Indices and tables