Hi team - I am running into an issue using st.cache when trying to call items in the secrets.toml file. I still get the cannot hash error for thread.RLock even when using the hash_funcs solution that I’ve found in the forums. Any ideas?
What version of Streamlit are you using? I would suggest upgrading to the latest version of Streamlit and to use @st.experimental_memo instead, as the function returns a dictionary (data object):
Hi Snehan - I’m running version 1.7.0. This was mainly causing issues when trying to also cache a function upstream so instead I called this function elsewhere and fed the creds in and everything is working fine now. If that breaks somehow I’ll give your experimental_memo a shot. Thanks for the help!
A second piece to keep in mind is that your get_s3_auth function isn’t actually doing anything cacheable, so caching can be removed altogether. Creating a dict referencing the keys of another dict is a constant time operation.