forked from pool/python-deepdiff
* 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
94 lines
3.1 KiB
RPMSpec
94 lines
3.1 KiB
RPMSpec
#
|
|
# spec file for package python-deepdiff
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?sle15_python_module_pythons}
|
|
Name: python-deepdiff
|
|
Version: 8.0.1
|
|
Release: 0
|
|
Summary: Deep Difference and Search of any Python object/data
|
|
License: MIT
|
|
URL: https://github.com/seperman/deepdiff
|
|
Source: https://github.com/seperman/deepdiff/archive/%{version}.tar.gz#/deepdiff-%{version}-gh.tar.gz
|
|
BuildRequires: %{python_module PyYAML}
|
|
BuildRequires: %{python_module click}
|
|
BuildRequires: %{python_module jsonpickle}
|
|
#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}
|
|
BuildRequires: %{python_module tomli-w}
|
|
BuildRequires: %{python_module toml}
|
|
BuildRequires: %{python_module wheel}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python-orderly-set >= 5.2.2
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
Recommends: python-PyYAML
|
|
Recommends: python-click
|
|
Recommends: python-jsonpickle
|
|
Recommends: python-numpy
|
|
Recommends: python-orjson
|
|
Recommends: python-toml
|
|
#Suggests: python-clevercsv
|
|
BuildArch: noarch
|
|
%python_subpackages
|
|
|
|
%description
|
|
A Python module to calculate Deep Difference of dictionaries,
|
|
iterables, strings and other objects. It can search for objects
|
|
within other objects, and hash any object based on their content.
|
|
|
|
%prep
|
|
%autosetup -p1 -n deepdiff-%{version}
|
|
sed -i '1{/env python/d}' deepdiff/deephash.py deepdiff/diff.py deepdiff/search.py
|
|
|
|
%build
|
|
%pyproject_wheel
|
|
|
|
%install
|
|
%pyproject_install
|
|
%python_clone -a %{buildroot}%{_bindir}/deep
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
|
|
%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) or (test_polars)"
|
|
%pytest -k "not ($donttest)"
|
|
|
|
%post
|
|
%python_install_alternative deep
|
|
|
|
%postun
|
|
%python_uninstall_alternative deep
|
|
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc README.md AUTHORS.md
|
|
%{python_sitelib}/deepdiff
|
|
%{python_sitelib}/deepdiff-%{version}.dist-info
|
|
%python_alternative %{_bindir}/deep
|
|
|
|
%changelog
|