No project description provided
Project description
streamlit-server-state
A "server-wide" state shared across the sessions.
import streamlit as st
from streamlit_server_state import server_state, server_state_lock
st.title("Global Counter Example")
with server_state_lock["count"]: # Lock the "count" state for thread-safety
if "count" not in server_state:
server_state.count = 0
increment = st.button("Increment")
if increment:
with server_state_lock.count:
server_state.count += 1
decrement = st.button("Decrement")
if decrement:
with server_state_lock.count:
server_state.count -= 1
st.write("Count = ", server_state.count)
As above, the API is similar to the built-in SessionState, except one major difference - a "lock" object. The lock object is introduced for thread-safety because the server-state is accessed from multiple sessions, i.e. threads.
Examples
app_global_count
: A sample app like the official counter example for SessionState which usesstreamlit-server-state
instead and the counter is shared among all the sessions on the server. This is a nice small example to see the usage and behavior ofstreamlit-server-state
. Try to open the app in multiple browser tabs and see the counter is shared among them.app_global_slider
: A slider widget (st.slider
) whose value is shared among all sessions.app_chat.py
: A simple chat app usingstreamlit-server-state
.app_chat_rooms.py
: A simple chat app with room separation.
Resources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for streamlit-server-state-0.12.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce3af2ff7475aa3b607d7b179523ef60817f6f5ca96d1b13f275db3afa4e7cba |
|
MD5 | 6cc92cddec18ef60c8ec5af1eb42ec86 |
|
BLAKE2b-256 | 37e6b82510ed62a553626661a168da0fc5369a60baaee16b4e27812d4aa6a6b3 |
Close
Hashes for streamlit_server_state-0.12.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf85dfa538a0ee6f46e503b768f520e0ffb715cdd5151765af5620901bbe11d7 |
|
MD5 | 6a24b3437d01741e2f742e179a3f6ff7 |
|
BLAKE2b-256 | 252a15ea2b2a284c4fe2669f0b9c319ede1a0c05b6376e675a219e06bfe82c0f |