Skip to content

More human readable diff views #529

@mauvilsa

Description

@mauvilsa

Is your feature request related to a problem? Please describe.
deepdiff is particularly useful for big jsons with possibly complex nested structures. However, the diff output is mostly suitable for machines, not humans. There is the "pretty" view (#187), but that just makes each difference into a sentence, which is not that useful in practice. In particular, in many use cases, for a diff to be useful, the context is very important.

Describe the solution you'd like
Add two more views:

  1. Similar to the standard diff --context=<lines>, where small parts of the json are shown, one for each difference but including the surrounding context. Could be number of lines above and below the difference, or the context be more json specific.
  2. Similar to dwdiff -c, where the entire json is shown mostly in white font, but in places where there are differences, show deletions in red and additions in green.

Describe alternatives you've considered
Implement myself something on top of deepdiff to get the views that I want. The downside is that this would only benefit me, even though it is something general which many people could benefit from.

Additional context

Activity

mauvilsa

mauvilsa commented on Mar 24, 2025

@mauvilsa
Author

I might work on this kind human readable of views. But, it would be nice to get some feedback here. That is, to know whether contributing such a feature here would be welcome.

seperman

seperman commented on May 9, 2025

@seperman
Owner
mauvilsa

mauvilsa commented on May 9, 2025

@mauvilsa
Author

@seperman yes I am aware of pretty as mentioned above. From what I know, the current pretty view doesn't show the context of where there are changes, which is what I am interested in.

seperman

seperman commented on May 9, 2025

@seperman
Owner

@mauvilsa Ah I see. So you want to use DeepDiff's output to use color to show the pieces in the data that have changed, added or removed. That's a very cool idea! Yes, such a feature will be very useful. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @seperman@mauvilsa

      Issue actions

        More human readable diff views · Issue #529 · seperman/deepdiff