Skip to main content

Readable JSON comparison with colorized terminal output

Project description

philiprehberger-json-diff

Tests PyPI version License

Readable JSON/dict comparison with colorized terminal output.

Installation

pip install philiprehberger-json-diff

Usage

from philiprehberger_json_diff import diff, format_diff, diff_summary

old = {"name": "Alice", "age": 30, "city": "NYC"}
new = {"name": "Alice", "age": 31, "country": "US"}

changes = diff(old, new)

# Pretty-print with colors
print(format_diff(changes))

# Get a summary
summary = diff_summary(changes)
# {"added": 1, "removed": 1, "modified": 1, "total": 3}

Nested Comparison

old = {"user": {"name": "Alice", "settings": {"theme": "dark"}}}
new = {"user": {"name": "Alice", "settings": {"theme": "light"}}}

changes = diff(old, new)
# Reports: modified user.settings.theme: 'dark' -> 'light'

Ignore Paths

changes = diff(old, new, ignore={"user.settings.theme"})

API

  • diff(old, new, ignore=None) — Compare two dicts, returns list of Change objects
  • format_diff(changes, color=True) — Format changes as readable string with optional ANSI colors
  • diff_summary(changes) — Return dict with counts by change type

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

philiprehberger_json_diff-0.1.4.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

philiprehberger_json_diff-0.1.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file philiprehberger_json_diff-0.1.4.tar.gz.

File metadata

File hashes

Hashes for philiprehberger_json_diff-0.1.4.tar.gz
Algorithm Hash digest
SHA256 48f2be8b8bf39b5a588646a8259d2deaaefb9df53ec53f494a1961e4d1d14a5d
MD5 827407bd3375ff9c6e82d9c88865db54
BLAKE2b-256 27656ef6a5b96bb6d72876d9716eed5d9f4c81a944402274036e8b26abf75484

See more details on using hashes here.

File details

Details for the file philiprehberger_json_diff-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for philiprehberger_json_diff-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 112ab96b305301315e3f3d4d41ad43d52b3594d6f6d2fcdeb3e1c73e7bf02118
MD5 16c5720c0f306334467b56a2537e58c6
BLAKE2b-256 816079abdb77db56b9356ef90c8cd60271121259c80122c7a12e0b0198110db4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page