Persistence with Session State
One of the most frustrating parts of the Streamlit operating model for developers starting out is the combination of two facts:
- By default, information is not stored across reruns of the app.
- On user input, Streamlits are rerun top-to-bottom.
These two facts make it difficult to make certain types of apps! This is best shown in an example. Let’s say that we want to make a to-do app that makes it easy for you to add items to your to-do list. Adding user input in Streamlit is really simple, so we can create one quickly in a new file called session_state_example.py
that looks like the following:
import streamlit as st
st.title('My To-Do List Creator')
my_todo_list = ["Buy groceries", "Learn Streamlit", "Learn Python"]
st.write('My current To-Do list is:', my_todo_list)
new_todo = st.text_input("What do you need to do?")
if st.button('Add the new To-Do...