single |
# DeepDiff v 8.6.1
![Downloads]
![Python Versions]
![License]
[Build Status]
[codecov]
## Modules
- [DeepDiff]: Deep Difference of dictionaries, iterables, strings, and ANY
other object.
- [DeepSearch]: Search for objects within other objects.
- [DeepHash]: Hash any object based on their content.
- [Delta]: Store the difference of objects and apply them to other objects.
- [Extract]: Extract an item from a nested Python object using its path.
- [commandline]: Use DeepDiff from commandline.
Tested on Python 3.9+ and PyPy3.
- **[Documentation]**
## What is new?
Please check the [ChangeLog] file for the detailed information.
DeepDiff 8-6-1
- Patched security vulnerability in the Delta class which was vulnerable to
class pollution via its constructor, and when combined with a gadget
available in DeltaDiff itself, it could lead to Denial of Service and
Remote Code Execution (via insecure Pickle deserialization).
DeepDiff 8-6-0
- Added Colored View thanks to @mauvilsa
- Added support for applying deltas to NamedTuple thanks to @paulsc
- Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
- Added python property serialization to json
- Added ip address serialization
- Switched to UV from pip
- Added Claude.md
- Added uuid hashing thanks to @akshat62
- Added `ignore_uuid_types` flag to DeepDiff to avoid type reports when
comparing UUID and string.
- Added comprehensive type hints across the codebase (multiple commits for
better type safety)
- Added support for memoryview serialization
- Added support for bytes serialization (non-UTF8 compatible)
- Fixed bug where group_by with numbers would leak type info into group
path reports
- Fixed bug in `_get_clean_to_keys_mapping without` explicit significant
digits
- Added support for python dict key serialization
- Enhanced support for IP address serialization with safe module imports
- Added development tooling improvements (pyright config, .envrc example)
- Updated documentation and development instructions
DeepDiff 8-5-0
- Updating deprecated pydantic calls
- Switching to pyproject.toml
- Fix for moving nested tables when using iterable_compare_func. by
- Fix recursion depth limit when hashing numpy.datetime64
- Moving from legacy setuptools use to pyproject.toml
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
## 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
functionalities such as improved json serialization:
`pip install "deepdiff[optimize]"`
Install optional packages:
- [yaml]
- [tomli] (python 3.10 and older) and [tomli-w] for writing
- [clevercsv] for more rubust CSV parsing
- [orjson] for speed and memory optimized parsing
- [pydantic]
# Documentation
### A message from Sep, the creator of DeepDiff
|