-
-
Notifications
You must be signed in to change notification settings - Fork 238
/
Copy pathindex.rst
187 lines (121 loc) · 4.97 KB
/
index.rst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
.. DeepDiff documentation master file, created by
sphinx-quickstart on Mon Jul 20 06:06:44 2015.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
DeepDiff 8.4.2 documentation!
=============================
*******
Modules
*******
The DeepDiff library includes the following modules:
- **DeepDiff** For Deep Difference of 2 objects. :doc:`/diff`
It return the deep Difference of python objects. It can also be used to take the distance between objects. :doc:`/deep_distance`
- **DeepSearch** Search for objects within other objects. :doc:`/dsearch`
- **DeepHash** Hash any object based on their content even if they are not "hashable" in Python's eyes. :doc:`/deephash`
- **Delta** Delta of objects that can be applied to other objects. Imagine git commits but for structured data. :doc:`/delta`
- **Extract** For extracting a path from an object :doc:`/extract`
- **Commandline** Most of the above functionality is also available via the commandline module :doc:`/commandline`
***********
What Is New
***********
DeepDiff 8-4-2
--------------
- fixes the type hints for the base
- fixes summarize so if json dumps fails, we can still get a repr of the results
- adds ipaddress support
DeepDiff 8-4-1
--------------
- Adding BaseOperatorPlus base class for custom operators
- default_timezone can be passed now to set your default timezone to something other than UTC.
- New summarization algorithm that produces valid json
- Better type hint support
- Breaking change in DeepHash where we raise Exception instead of logging if we can't hash a value.
- Added the log_stacktrace parameter to DeepDiff. When True, it will log the stacktrace along with the error.
DeepDiff 8-3-0
--------------
- Fixed some static typing issues
- Added the summarize module for better repr of nested values
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 <https://zepworks.com/tags/deepdiff/>`_
************
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 :ref:`optimizations_label`
Importing
~~~~~~~~~
.. code:: python
>>> 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
.. code:: bash
$ deep diff --help
- Delta
.. code:: bash
$ deep patch --help
- grep
.. code:: bash
$ deep grep --help
- extract
.. code:: bash
$ deep extract --help
Supported data types
~~~~~~~~~~~~~~~~~~~~
int, string, unicode, dictionary, list, tuple, set, frozenset, OrderedDict, NamedTuple, Numpy, custom objects and more!
References
==========
.. toctree::
:maxdepth: 4
diff
dsearch
deephash
delta
extract
commandline
changelog
authors
faq
support
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`