Streamlit graph editor component

Hi All,

I made a streamlit component that will allow a user to render a graph and also edit it (and receive the new graph as output)

You can pass the graph as a JSON object and receive the edited graph back as a JSON. Friendly routine are available to convert to/from a networkx graph object.

Provides rendering and editing support for

  1. Directed graphs
  2. Undirected graphs
  3. Trees
  4. Attributes for nodes

Support for Edge attributes will be added soon

Github URL

This one uses “vis-network” javascript library for graph visualization

Thanks to ChatGPT and MS Copilot for helping me with Javascript. This would not have been possible without GenAI support (HTML, JS are a far cry for me).

Many thanks to @blackary for streamlit-component-lib.js file (available through the cookie-cutter project).

1 Like