Need some advice for building a network weathermap

Hey there, thanks for sharing your question and welcome to the Streamlit community! :rocket: Your project sounds super interesting (and ambitious!). For building interactive, scalable network weathermaps in Streamlit, several graph libraries and components stand out:

  • Plotly: Great for interactive charts, but for complex, editable network diagrams, it may be limiting since it doesn’t natively support node-link editing or dynamic graph structures in the way you described. Still, it’s a solid choice for static or semi-interactive visualizations and integrates seamlessly with Streamlit via st.plotly_chart (docs).
  • streamlit-agraph: Specifically designed for interactive network graphs in Streamlit, allowing you to define nodes, edges, and even handle user interactions like adding links (docs, example).
  • yFiles Graphs for Streamlit: A powerful component for interactive, data-driven network visualizations, supporting auto-layouts, grouping, and user interaction events (announcement).
  • streamlit-flow: Lets you build beautiful, interactive flow diagrams with flexible nodes and edges, and supports capturing user interactions in Python (announcement).
  • Pyvis + NetworkX: Good for visualizing network graphs, but less interactive for editing in-app (discussion).

If you want users to add links and interact with the graph, I’d recommend starting with streamlit-agraph or yFiles Graphs for Streamlit. Both are actively maintained and designed for interactive network visualizations in Streamlit. If you have a minimum reproducible example or repo, please share it so the community can jump in with more targeted advice!

Sources: