From 6154cbca0a210e6281c4e4707b028f6616d636c99e9faf92978c0f0cf8c410b7 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 28 Oct 2024 23:13:42 +0000 Subject: [PATCH] - update to 8.0.1: * 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. * [x] `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. * [x] `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. * [x] Deprecated `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`. * [x] Added `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. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=30 --- deepdiff-7.0.1-gh.tar.gz | 3 --- deepdiff-8.0.1-gh.tar.gz | 3 +++ python-deepdiff.changes | 38 ++++++++++++++++++++++++++++++++++++++ python-deepdiff.spec | 12 +++++++----- 4 files changed, 48 insertions(+), 8 deletions(-) delete mode 100644 deepdiff-7.0.1-gh.tar.gz create mode 100644 deepdiff-8.0.1-gh.tar.gz diff --git a/deepdiff-7.0.1-gh.tar.gz b/deepdiff-7.0.1-gh.tar.gz deleted file mode 100644 index 2a275b3..0000000 --- a/deepdiff-7.0.1-gh.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90738e70b9a7cb6ca739647f1faf14d837e552739411f8a596cc6533348a2e60 -size 436712 diff --git a/deepdiff-8.0.1-gh.tar.gz b/deepdiff-8.0.1-gh.tar.gz new file mode 100644 index 0000000..d0f0026 --- /dev/null +++ b/deepdiff-8.0.1-gh.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4d2259270ac9df526e727f035165cfc364021758c6a92f9d75f008717cd172c +size 442948 diff --git a/python-deepdiff.changes b/python-deepdiff.changes index 6ffaebb..bc4ab0f 100644 --- a/python-deepdiff.changes +++ b/python-deepdiff.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Mon Oct 28 23:03:15 UTC 2024 - Dirk Müller + +- update to 8.0.1: + * 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. + * [x] `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. + * [x] `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. + * [x] Deprecated `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`. + * [x] Added `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. + * [x] json serialization of reversed lists. + * [x] Fix for iterable moved items when `iterable_compare_func` + is used. + * [x] Pandas and Polars support. + ------------------------------------------------------------------- Sat Apr 20 13:56:16 UTC 2024 - Dirk Müller diff --git a/python-deepdiff.spec b/python-deepdiff.spec index 050530f..862bff5 100644 --- a/python-deepdiff.spec +++ b/python-deepdiff.spec @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-deepdiff -Version: 7.0.1 +Version: 8.0.1 Release: 0 Summary: Deep Difference and Search of any Python object/data License: MIT @@ -27,11 +27,13 @@ Source: https://github.com/seperman/deepdiff/archive/%{version}.tar.gz#/ BuildRequires: %{python_module PyYAML} BuildRequires: %{python_module click} BuildRequires: %{python_module jsonpickle} -BuildRequires: %{python_module numpy} -BuildRequires: %{python_module ordered-set >= 4.1.0 with %python-ordered-set < 4.2} +#BuildRequires: %{python_module numpy} +BuildRequires: %{python_module orderly-set >= 5.2.2} BuildRequires: %{python_module orjson} +BuildRequires: %{python_module pandas} BuildRequires: %{python_module pip} BuildRequires: %{python_module pydantic} +BuildRequires: %{python_module pytest-benchmark} BuildRequires: %{python_module pytest} BuildRequires: %{python_module python-dateutil} BuildRequires: %{python_module setuptools} @@ -40,7 +42,7 @@ BuildRequires: %{python_module toml} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: (python-ordered-set >= 4.1.0 with python-ordered-set < 4.2) +Requires: python-orderly-set >= 5.2.2 Requires(post): update-alternatives Requires(postun): update-alternatives Recommends: python-PyYAML @@ -72,7 +74,7 @@ sed -i '1{/env python/d}' deepdiff/deephash.py deepdiff/diff.py deepdiff/search. %check # we don't have the (optional) requirement CleverCSV for csv diffing -donttest="(TestCommands and (csv or group_by)) or (test_load_path_content and csv)" +donttest="(TestCommands and (csv or group_by)) or (test_load_path_content and csv) or (test_polars)" %pytest -k "not ($donttest)" %post