{"library":"streamlit-agraph","title":"Streamlit-Agraph","type":"library","description":"Streamlit-Agraph is a third-party Streamlit component designed to visualize interactive graph networks directly within Streamlit applications. Built on top of `react-graph-vis`, it provides a Python interface for generating nodes, edges, and customizable graph configurations, including physics, direction, hierarchy, and image support. The current version is 0.0.45, and it appears to be actively maintained with irregular updates, as indicated by recent activity on its GitHub repository. [2, 17]","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install streamlit-agraph"],"cli":null},"imports":["from streamlit_agraph import agraph, Node, Edge, Config","from streamlit_agraph.config import Config, ConfigBuilder","from streamlit_agraph import TripleStore"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":null,"github":"https://github.com/ChrisChross/streamlit-agraph","docs":null,"changelog":null,"pypi":"https://pypi.org/project/streamlit-agraph/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import streamlit as st\nfrom streamlit_agraph import agraph, Node, Edge, Config\n\nnodes = []\nedges = []\n\nnodes.append(Node(id=\"Spiderman\", label=\"Peter Parker\", size=25, shape=\"circularImage\", image=\"http://marvel-force-chart.surge.sh/marvel_force_chart_img/top_spiderman.png\"))\nnodes.append(Node(id=\"Captain_Marvel\", size=25, shape=\"circularImage\", image=\"http://marvel-force-chart.surge.sh/marvel_force_chart_img/top_captainmarvel.png\"))\nnodes.append(Node(id=\"Iron_Man\", label=\"Tony Stark\", size=25, shape=\"circularImage\", image=\"http://marvel-force-chart.surge.sh/marvel_force_chart_img/top_ironman.png\"))\n\nedges.append(Edge(source=\"Captain_Marvel\", label=\"friend_of\", target=\"Spiderman\"))\nedges.append(Edge(source=\"Iron_Man\", label=\"mentor_of\", target=\"Spiderman\"))\n\nconfig = Config(\n    width=750,\n    height=550,\n    directed=True,\n    physics=True,\n    hierarchical=False,\n    # Add a unique key for multiple graphs on a single page\n    # key=\"my_unique_agraph_key\"\n)\n\nst.title(\"Streamlit-Agraph Quickstart\")\nst.markdown(\"An interactive graph visualization example.\")\n\nreturn_value = agraph(nodes=nodes, edges=edges, config=config)\n\nst.write(f\"Node selected: {return_value}\")","lang":"python","description":"This quickstart demonstrates how to create a simple interactive graph in Streamlit using `streamlit-agraph`. It defines a set of nodes and edges, configures the graph's appearance and behavior (e.g., width, height, physics, directed edges), and renders it using the `agraph` component. The `return_value` captures the ID of the last clicked node. [2, 17]","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.0.45","pypi_latest":"0.0.45","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":16.8,"avg_import_s":1.37,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.5,"mem_mb":24.7,"disk_size":"469.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":16.9,"import_time_s":0.63,"mem_mb":19.9,"disk_size":"439M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.03,"mem_mb":26.5,"disk_size":"495.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":16.6,"import_time_s":1.08,"mem_mb":21.9,"disk_size":"464M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.01,"mem_mb":26.1,"disk_size":"478.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":15.7,"import_time_s":1.37,"mem_mb":21.1,"disk_size":"447M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.89,"mem_mb":26.4,"disk_size":"476.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":15.9,"import_time_s":1.28,"mem_mb":21.9,"disk_size":"445M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":1.29,"mem_mb":19.8,"disk_size":"454.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"streamlit-agraph","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":18.8,"import_time_s":0.64,"mem_mb":15,"disk_size":"432M"}]}}