MIT
项目描述
Patchdiff 🔍
基于rfc6902,此库提供了一个简单的API来生成由列表、集合、元组和字典组成的复合Python数据结构之间的双向差异。这些差异符合jsonpatch规范,并可选择序列化为JSON格式。Patchdiff还可以用于将补丁列表应用到对象上,可以是原地或输入的深拷贝。
安装
pip install patchdiff
快速入门
from patchdiff import apply, diff, iapply, to_json
input = {"a": [5, 7, 9, {"a", "b", "c"}], "b": 6}
output = {"a": [5, 2, 9, {"b", "c"}], "b": 6, "c": 7}
ops, reverse_ops = diff(input, output)
assert apply(input, ops) == output
assert apply(output, reverse_ops) == input
iapply(input, ops) # apply in-place
assert input == output
print(to_json(ops, indent=4))
# [
# {
# "op": "add",
# "path": "/c",
# "value": 7
# },
# {
# "op": "replace",
# "path": "/a/1",
# "value": 2
# },
# {
# "op": "remove",
# "path": "/a/3/a"
# }
# ]
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
patchdiff-0.3.4.tar.gz (4.1 kB 查看哈希值)
构建分发
patchdiff-0.3.4-py3-none-any.whl (5.0 kB 查看哈希值)