Save Projects Functionality With Streamlit

Hello everyone, I’ve been developing a feature that enables users to save the current state of the app as a project. When starting a new session, the app will automatically refresh with the previous state. This process involves configuring session state keys before initializing the corresponding widgets. As a result, a message related to a field on the UI is displayed.

The widget with key “ref_well_lat_range” was created with a default value but also had its value set via the Session State API.

Any suggestions on how to do this properly or how to hide this message from UI.

Thanks,
Aman

Hey @Aman_jain,

Every widget with a key is automatically added to session state, and if you create a widget with both a key and a default value, that default value will be added to session state (st.session_state.ref_well_lat_range in this case). If you are providing both a key and a default value for the widget, you’ll see this error message if you try to then modify the session state value for that key via st.session_state.ref_well_late_range = some_new_value.

To avoid this error, you can either:

  • remove the default value for the widget with key ref_well_lat_range
  • remove the line where you’re modifying the widget’s session state value (i.e. st.session_state.ref_well_late_range = some_new_value)

Hope this helps! This section of the docs covers this concept in more detail.