{"repo":"trailofbits/graphtage","free":true,"listed":false,"github":"https://github.com/trailofbits/graphtage","clone":"git clone https://github.com/trailofbits/graphtage.git","description":"A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.","language":"Python","stars":2478,"topics":["diff","library","python","graph-algorithms","hacktoberfest","hacktoberfest2021","command-line-tool","utility"],"license":"LGPL-3.0","category":"cli-tools","readme_excerpt":"Graphtage Graphtage is a command-line utility and underlying library for semantically comparing and merging tree-like structures, such as JSON, XML, HTML, YAML, TOML, plist, and CSS files. Its name is a portmanteau of “graph” and “graftage”—the latter being the horticultural practice of joining two trees together such that they grow as one. Installation Command Line Usage Output Formatting Graphtage performs an analysis on an intermediate representation of the trees that is divorced from the filetypes of the input files. This means, for example, that you can diff a JSON file against a YAML file. Also, the output format can be different from the input format(s). By default, Graphtage will format the output diff in the same file format as the first input file. But one could, for example, diff two JSON files and format the output in YAML. There are several command-line arguments to specify these transformations, such as --format ; please check the --help output for more information. By default, Graphtage pretty-prints its output with as many line breaks and indents as possible. Use the --join-lists or -jl option to suppress linebreaks after list items: Likewise, use the --join-dict-items or -jd option to suppress linebreaks after key/value pairs in a dict: Use --condensed or -j to apply both of these options: The --only-edits or -e option will print out a list of edits rather than applying them to the input file in place. The --edit-digest or -d option is like --only-edits but p","default_branch":null,"files":null,"tree":[],"storefront":"/r/trailofbits","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/trailofbits/graphtage/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}