Skip to main content

structurediff is a diff utility for structured data files

Project description

structurediff is a tool (a command line wrapper really) that uses DeepDiff to provide a simple command line utility for ‘diffing’ (at a structural rather than line-based level) large YAML and/or JSON files (meaning it can diff YAML against YAML, or YAML against JSON, or JSON against JSON).

structurediff uses the pyyaml parser for both JSON and YAML to work around issues with unicode-ification of strings. As a result structurediff cannot be depended on to differentiate between unicode and non-unicode types between JSON and YAML.


Just reach out (or submit a patch or merge request). I try to keep an eye open.


This code has no tests. It should have some.


On the command line:

usage: structurediff [-h] [-d DIFF_VERBOSITY] [-i INDENT_LEVEL] [-v]
                                         input1 input2

positional arguments:
  input1                initial input
  input2                input to compare against input1

optional arguments:
  -h, --help            show this help message and exit
  -d DIFF_VERBOSITY, --diff-verbosity DIFF_VERBOSITY
                                                set the DeepDiff verbose_level, 0-2 (default 1)
  -i INDENT_LEVEL, --indent-level INDENT_LEVEL
                                                set the pprint indent spacing (default 2)
  -v, --verbose         make output verbose_level

In Python (why would you do this? Use DeepDiff instead!):

from structurediff import DataComparison, DataFile
comparison = DataComparison(DataFile(PATH), DataFile(PATH), VERBOSITY)

Project details

Release history Release notifications | RSS feed

This version


Download files

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

Source Distribution

structurediff-1.0.tar.gz (17.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page