can not find cause of st.experimental_user deprecation warning

Hi,
I’m building an app on Streamlit 1.45 that uses the builtin authentication via OIDC with Auth0 as provider.

Overall login experience works fine but sometimes I get the yellow warning messages saying:

Please replace st.experimental_user with st.user.
st.experimental_user will be removed after 2025-11-06.

I’ve checked that my application code does not use the deprecated field but I suspect some of the modules in the requirements that are used under the hood still use the old experimental implementation. My requirements are the following:
st-annotated-text==4.0.2
streamlit==1.45.0
streamlit-card==1.0.2
streamlit-embedcode==0.1.2
streamlit-extras==0.6.0
streamlit-faker==0.0.3
streamlit-highcharts==0.2.0
streamlit-image-coordinates==0.1.9
streamlit-keyup==0.3.0
streamlit-toggle-switch==1.0.2
streamlit-vertical-slider==2.5.5

Is there a way to find out where the warning is generated?

Test each package separately. The older packages are the main suspects.

You may find a better way if you narrow down “sometimes I get the yellow warning messages” to a specific user action performed in specific circunstances, a.k.a a reproducible issue.

Unfortunately, providing a reproducible issue is not easy. The issue often seems to occur when I’m using a breakpoint to stop the execution of the application in debugging sessions. I’ll try to build a minimal example, but as I can not identify any piece of my code responsible for the issue, I don’t have a way to isolate it.

I’ve tried a bit of digging, but don’t see anything obvious in any of those libraries that seems to be using st.experimental_user. One approach you might take is unpinning the specific versions and trying to upgrade all the packages to the latest versions, and see if that resolves the warning.

Maybe try to monkeypatch streamlit.user_info.maybe_show_deprecated_user_warning so that it raises an exception and you get a traceback.

1 Like

To debugging. It’s an art and acquired skill. If it was easy, everyone would be doing it. If I ever get there, I’ll let you know.