一个基于 SIMD 优化的图片逐像素对比工具,提供命令行与 Node.js 接口,并生成差异图。
qlustered/deepdiff
用于深度比较嵌套 Python 对象、在对象中搜索、基于内容哈希以及以 delta 形式存储和应用差异的 Python 库。
- Star
- 2,537
- Fork
- 296
- 未关闭 Issue
- 125
- 最近提交
- 上个月
这是什么?
DeepDiff 是一个 Python 库,用于比较字典、列表、集合、字符串及任意对象等嵌套数据结构的差异。它会列出新增、删除和修改的内容,并给出每处变化的路径,便于精确定位两个对象在哪里不一致。
除差异比较外,该包还包含用于在嵌套对象中查找值的 DeepSearch、基于对象内容生成哈希的 DeepHash,以及用于存储差异并应用到其他对象上以重建结果的 Delta。此外还提供通过路径从嵌套对象中提取元素的 Extract,并可通过可选依赖安装命令行工具。
该库支持 Python 3.10 及更高版本和 PyPy3。可选依赖如 PyYAML、tomli、orjson 和 pydantic 可以增加对更多格式的支持并加快序列化速度。近期版本新增了多进程差异计算,以及 exclude_paths 和 include_paths 的通配符匹配。
核心功能
- 01报告嵌套数据中新增、删除和修改的条目及其路径。
- 02通过 DeepSearch 在任意嵌套 Python 对象中搜索值。
- 03通过 DeepHash 为任意 Python 对象生成基于内容的哈希。
- 04将差异保存为 Delta 对象,并应用到其他对象上重建结果。
- 05exclude_paths 和 include_paths 支持通配符模式。
适用场景
- 编写测试,断言两个复杂的 API 响应或配置对象是否一致。
- 检测嵌套 JSON 或 YAML 数据不同版本之间的变化。
- 追踪并重放结构化状态的增量更新。
- 通过内容哈希对对象进行去重。
标签
常见问题
- deepdiff 是什么?
- 用于深度比较嵌套 Python 对象、在对象中搜索、基于内容哈希以及以 delta 形式存储和应用差异的 Python 库。 DeepDiff 是一个 Python 库,用于比较字典、列表、集合、字符串及任意对象等嵌套数据结构的差异。它会列出新增、删除和修改的内容,并给出每处变化的路径,便于精确定位两个对象在哪里不一致。
- deepdiff 可以免费使用吗?用的什么许可证?
- deepdiff 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- deepdiff 还在维护吗?
- 半年内有更新。deepdiff 最近一次提交是在 2026年9月18日。
- deepdiff 适合用来做什么?
- 编写测试,断言两个复杂的 API 响应或配置对象是否一致。 检测嵌套 JSON 或 YAML 数据不同版本之间的变化。 追踪并重放结构化状态的增量更新。 通过内容哈希对对象进行去重。
- 在哪里获取 deepdiff?
- 源代码和安装说明在 GitHub 上:https://github.com/qlustered/deepdiff
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用于查找微信接收文件夹中的重复文件,并将其安全移入系统回收站的桌面工具。
本地浏览器审阅工具,可标注编码智能体的计划、Markdown、HTML 和代码差异,并把反馈发回智能体。
一个命令行工具,在本地启动类 GitHub 风格的网页界面,用于查看和评审 Git 提交差异,评论可复制为 AI 提示词。
基于 Rust 和 GPUI 构建的快速、本地优先的桌面 Git 图形客户端,支持 Linux、Windows 和 macOS。
用统一 API 自动化控制 Chromium、Firefox 和 WebKit 浏览器的 Python 库,支持同步与异步两种调用方式。