Graphtage Documentation ======================= Graphtage is *both* a commandline utility *and* a general purpose library for semantically comparing and merging tree-like structures, such as JSON, XML, HTML, YAML, and CSV files. Its name is a portmanteau of “graph” and “graftage”—the latter being the practice of joining two trees together such that they grow as one. There are several reasons why you might be here… .. topic:: You want to learn how to use Graphtage as a command line utility. This documentation focuses on Graphtage’ use as a library, specifically how to extend it by implementing new file formats. For instructions on using Graphtage as a utility, see the documentation in its `GitHub page`_. .. topic:: You want to programmatically interact with Graphtage as a library. You should start by reading about :doc:`Using Graphtage Programmatically `. .. topic:: You want to modify or extend Graphtage. For example, you might want to implement support for a new file format or edit type. You should start by reading the :doc:`Extending Graphtage ` section. .. topic:: You are already familiar with Graphtage and just need an API reference. The API documentation is :doc:`here `. .. topic:: You are curious and want to learn more about how Graphtage works. Documentation on how Graphtage works is :doc:`here `. .. _GitHub page: https://github.com/trailofbits/graphtage .. toctree:: :maxdepth: 4 :caption: Contents: library extending howitworks package Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`