Streamlit user browser cookies

I’m trying to preserve some data across same-user sessions.
However, all existing “cookie” hacks only some how save the cookie in the server side, therefore, saving a cookie causes all users to load the same cookie (why is it still called a cookie anyway in this context?).

Any existing solutions to overcome it?

I’ve tried streamlit_cookies_controller, stx and streamlit-cookies-manager…

1 Like

I use this library here for both reading and writing cookies.
To just read cookies you can also use

st.context.cookies.get(“field”)

but this does NOT work in Streamlit Cloud for some server-level filter.

Instead, for setting cookies, you have to use the above mentioned library (or others).

To differentiate cookies among users, you just have to NOT use the cached version of the cookie-manager (the example uses a cached function to instantiate and return the manager, just remove the “@cache” annotation)