Cache is working fine, fetch_data() function is not executing everytime I reload the page, but spinner keeps showing. I am using show_spinner=False but it doesn’t work either as you can see in the next picture:
Table is showing but as you can see spinner still there.
If you need to know, I am using a API Scrapper for the MLB API. get_data and get_data_df are methods of a class from API Scrapper that return a polars dataframe.
I can reproduce the issue with this simpler code, using streamlit 1.40:
import streamlit as st
@st.cache_resource
def fetch_data():
with st.status("Status label"):
st.write("Status message")
return "The data"
data = fetch_data()
st.write(data)
On rerunning or starting a new session a spurious spinner appears that seems to last forever. Looks like a bug to me. But to be honest I don’t totally understand what the expected behavior of calling widget functions in cached functions is.