From c059f74e68f391fdf88a37bbfed04d27be36e252 Mon Sep 17 00:00:00 2001 From: Michael Liberman Date: Wed, 30 Oct 2024 16:57:30 +0200 Subject: [PATCH 1/2] Update README.md Fixing readme example code for the developers to be able to run the example --- README.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 47c2218..45d9bb7 100644 --- a/README.md +++ b/README.md @@ -32,12 +32,14 @@ streamlit_flow('flow', nodes, edges) **New** ```python +import streamlit as st + from streamlit_flow import streamlit_flow from streamlit_flow.elements import StreamlitFlowNode, StreamlitFlowEdge from streamlit_flow.state import StreamlitFlowState -nodes = [...] -edges = [...] +nodes = [] +edges = [] state = StreamlitFlowState(nodes, edges) streamlit_flow('flow', state) @@ -47,6 +49,8 @@ The benefits we get from this are significant, as the `StreamlitFlowState` class **Example** ```python +import streamlit as st + from streamlit_flow import streamlit_flow from streamlit_flow.elements import StreamlitFlowNode, StreamlitFlowEdge from streamlit_flow.state import StreamlitFlowState @@ -54,19 +58,19 @@ from uuid import uuid4 # Initialize the state if it doesn't exist if 'flow_state' not in st.session_state: - nodes = [...] - edges = [...] + nodes = [] + edges = [] st.session_state.flow_state = StreamlitFlowState(nodes, edges) # Use any operation that alters the state, for example add node, and then rerun if st.button("Add node"): - new_node = StreamlitFlowNode(key=str(f"st-flow-node_{uuid4()}"), - pos=(0, 0), - data={'content': f'Node {len(st.session_state.curr_state.nodes) + 1}'}, - node_type='default', - source_position='right', - target_position='left') - st.session_state.curr_state.nodes.append(new_node) + new_node = StreamlitFlowNode(id=str(f"st-flow-node_{uuid4()}"), + pos=(0, 0), + data={'content': f'Node {len(st.session_state.flow_state.nodes) + 1}'}, + node_type='default', + source_position='right', + target_position='left') + st.session_state.flow_state.nodes.append(new_node) st.rerun() # Use the state as the argument, as well as to store the return value From 5f5f5c42800a7f2c210d2b8c1e8b2b96bde7b4a5 Mon Sep 17 00:00:00 2001 From: Michael Liberman Date: Sun, 12 Jan 2025 11:56:48 +0200 Subject: [PATCH 2/2] Update README.md removed unneeded streamlit import --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 45d9bb7..c17c84f 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,6 @@ streamlit_flow('flow', nodes, edges) **New** ```python -import streamlit as st - from streamlit_flow import streamlit_flow from streamlit_flow.elements import StreamlitFlowNode, StreamlitFlowEdge from streamlit_flow.state import StreamlitFlowState