Tested on Python 3.8+ and PyPy3.
Please check the ChangeLog file for the detailed information.
DeepDiff 8-0-1
DeepDiff 8-0-0
With the introduction of threshold_to_diff_deeper
, the values returned are different than in previous versions of DeepDiff. You can still get the older values by setting threshold_to_diff_deeper=0
. However to signify that enough has changed in this release that the users need to update the parameters passed to DeepDiff, we will be doing a major version update.
use_enum_value=True
makes it so when diffing enum, we use the enum's value. It makes it so comparing an enum to a string or any other value is not reported as a type change.threshold_to_diff_deeper=float
is a number between 0 and 1. When comparing dictionaries that have a small intersection of keys, we will report the dictionary as a new_value
instead of reporting individual keys changed. If you set it to zero, you get the same results as DeepDiff 7.0.1 and earlier, which means this feature is disabled. The new default is 0.33 which means if less that one third of keys between dictionaries intersect, report it as a new object.ordered-set
and switched to orderly-set
. The ordered-set
package was not being maintained anymore and starting Python 3.6, there were better options for sets that ordered. I forked one of the new implementations, modified it, and published it as orderly-set
.use_log_scale:bool
and log_scale_similarity_threshold:float
. They can be used to ignore small changes in numbers by comparing their differences in logarithmic space. This is different than ignoring the difference based on significant digits.iterable_compare_func
is used.DeepDiff 7-0-1
DeepDiff 7-0-0
verbose=2
, and the "path" of an item has changed in a report between t1 and t2, we include it as new_path
.path(use_t2=True)
returns the correct path to t2 in any reported change in the tree view
DeepDiff 6-7-1
Can't compare dicts with both single and double quotes in keys
DeepDiff 6-7-0
DeepDiff 6-6-1
group_by=['last_name', 'zip_code']
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 functionalities such as improved json serialization:
pip install "deepdiff[optimize]"
Install optional packages:
https://zepworks.com/deepdiff/current/
👋 Hi there,
Thank you for using DeepDiff! As an engineer, I understand the frustration of wrestling with unruly data in pipelines. That's why I developed a new tool - Qluster to empower non-engineers to control and resolve data issues at scale autonomously and stop bugging the engineers! 🛠️
If you are going through this pain now, I would love to give you early access to Qluster and get your feedback.
Please take a look at the CHANGELOG file.
:mega: Please fill out our fast 5-question survey so that we can learn how & why you use DeepDiff, and what improvements we should make. Thank you! :dancers:
Please run pytest --cov=deepdiff --runslow
to see the coverage report. Note that the --runslow
flag will run some slow tests too. In most cases you only want to run the fast tests which so you wont add the --runslow
flag.
Or to see a more user friendly version, please run: pytest --cov=deepdiff --cov-report term-missing --runslow
.
Thank you!
Please take a look at the AUTHORS file.