st.write(st.session_state.celsius)
```
There is a limitation to setting widget values using the Session State API.
Streamlit does not allow setting widget values via the Session State API for st.button and st.file_uploader.
The following example will raise a StreamlitAPIException on trying to set the state of st.button via the Session State API:
```python
import streamlit as st
if 'my_button' not in st.session_state:
    st.session_state.my_button = True
    # Streamlit will raise an Exception on trying to set the state of button
st.button('Submit', key='my_button')
```
Caveats and limitations
Here are some limitations to keep in mind when using Session State:
Session State exists for as long as the tab is open and connected to the Streamlit server. As soon as you close the tab, everything stored in Session State is lost.
