deepdiff icon indicating copy to clipboard operation
deepdiff copied to clipboard

More human readable diff views

Open mauvilsa opened this issue 8 months ago • 4 comments
trafficstars

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

mauvilsa avatar Mar 18 '25 14:03 mauvilsa

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.

mauvilsa avatar Mar 24 '25 11:03 mauvilsa

Hi @mauvilsa Have you looked at the pretty command? https://zepworks.com/deepdiff/current/view.html#pretty-method

seperman avatar May 09 '25 18:05 seperman

@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.

mauvilsa avatar May 09 '25 19:05 mauvilsa

@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. :)

seperman avatar May 09 '25 19:05 seperman