Hi Streamlit Community,
My team is observing version inconsistencies in a Streamlit app deployed via Snowflake’s native Streamlit integration, and we’re hoping for clarification on how version control works in this environment.
Context
We are not using Streamlit Community Cloud, and we are not hosting this on GitHub or a custom cloud platform.
The app is created and deployed directly via Snowsight (Snowflake UI → Projects → Streamlit).
What We Observed
We were exploring ways to detect the current session active user from within a Snowflake Streamlit app. While testing, we noticed:
-
On my side, this line works as expected:
st.experimental_user.user_name
-
On my coworker A’s session, this line triggers:
Please replace
st.experimental_user
withst.user
.st.experimental_user
will be removed after 2025-11-06.
- When I try
st.user
, I get:
AttributeError: module
streamlit
has no attributeuser
- Upon checking, we found:
- My session shows Streamlit ‘Latest’
- I didn’t get to test what exact version# I was on, this is what was showing in my package / Anaconda version drop down menu
- Coworker A is on 1.45.0
- Coworker B is on 1.46.0
- When I tried pinning
streamlit==1.46.0
in theenvironment.yml
, it resolved to 1.45.1. And in the package drop down menu selection, my latest version only goes up to 1.45.1. And btw, 1.45.0 is the lowest version wherest.user
is introduced when I tested version by version. So if my streamlit was already on 1.45.1 / the supposed “Latest”, I shouldn’t have ran into an AttributeError there
- My session shows Streamlit ‘Latest’
Our Questions
-
Is it to be expected that different users (under the same corporate Snowflake account) see different latest available Streamlit versions? Or is this set by account admins?
-
Is there a intended / officially supported way to ensure version consistency within the Snowflake-managed Streamlit runtime? Our concern is the users’ side may experience similar issues and error out
Thank you in advance for your time and help!