networkx supports a graph serialization format it calls node-link data that can be read/written to JSON. See - [`networkx.readwrite.json_graph.node_link_data`](https://networkx.org/documentation/stable/reference/readwrite/generated/networkx.readwrite.json_graph.node_link_data.html) - [`networkx.readwrite.json_graph.node_link_graph`](https://networkx.org/documentation/stable/reference/readwrite/generated/networkx.readwrite.json_graph.node_link_graph.html) While this format doesn't appear to be a standard, it is simple and interoperable due to its JSON compatibility. It supports node & edge attributes.