Streamlit component that allows you to get simple facts about the screen to provide custom contextual app designs
Project description
streamlit-screen-stats
Streamlit component that allows you to do get various stats for your screeen to build repsonsive apps for your users with different devices.
Installation instructions
pip install streamlit-screen-stats
Usage instructions
import streamlit as st
from st_screen_stats import ScreenData, StreamlitNativeWidgetScreen, WindowQuerySize, WindowQueryHelper
# using react component
screenD = ScreenData(setTimeout=1000)
screen_d = screenD.st_screen_data()
st.write(screen_d)
## You can now use the on_change parameter on all class methods of this package.
def onScreenSizeChange(variable):
## do something when the screen size has changed.
#example
print(variable)
screen_stats_result = screenD.st_screen_data(key="screen_stats_", on_change=onScreenSizeChange("this works"))
st.write(st.session_state["screen_stats_"])
# using sctreamlit native widget and some custom components
# Requirements:
# Need to install from pypi:
# - streamlit-browser-session-storage (pip install streamlit-browser-session-storage)
# - streamlit-local-storage (pip install streamlit-local-storage)
screenDN = StreamlitNativeWidgetScreen(setTimeout=1000)
screen_stats_window = screenDN.get_window_screen_stats()
st.write(screen_stats_window)
# Query window screen like you would when using CSS @media () {}
# Returns dictionary result `{'status':True}` if conditions are met else `{'status':False}` if conditions are not met.
window_width_query_raw = WindowQuerySize()
window_width_res = window_width_query_raw.mediaQuery(mediaMatchQ="(max-width: 700px)") # returns dictionary result {'status':True} if window screen width is lower than 700px else {'status':False} if window screen width is greater than 700px
st.write(window_width_res)
# Query window screen helper - simplifies the above (CSS @media () {}) method
helper_screen_stats = WindowQueryHelper()
max_width_window = helper_screen_stats.maximum_window_size(max_width=800, key="window_1")
st.write("max_width",max_width_window)
min_width_window = helper_screen_stats.minimum_window_size(min_width=800, key="window_2")
st.write("min_width",min_width_window)
window_range = helper_screen_stats.window_range_width(min_width=1000, max_width=1100)
st.write("range", window_range)
## You can now use the on_change parameter.
# Example:
def onScreenSizeChange(value):
print(value)
large_screen_size_ = helper_screen_stats.window_range_width(min_width=1000, max_width=1100, on_change=onScreenSizeChange(value) key="lg_screen")
if large_screen_size_["status"] or st.session_state["lg_screen"]["status"]:
st.write("rest of code here")
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
File details
Details for the file streamlit_screen_stats-0.0.77.tar.gz
.
File metadata
- Download URL: streamlit_screen_stats-0.0.77.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12c97f41ba955d65182534699e31217a0f1df8e4888458a620d958d5989b00ae |
|
MD5 | 48021eff789610f32b0a1daa36d94b19 |
|
BLAKE2b-256 | 5312c8038879474028fcc6cfb349faed5ecfd9a272b4e3f9f540dcb67685c687 |
File details
Details for the file streamlit_screen_stats-0.0.77-py3-none-any.whl
.
File metadata
- Download URL: streamlit_screen_stats-0.0.77-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b4c5a5316380b9820e06a0ae64c109bb9f9494b6bc7bc559605273a469cff00 |
|
MD5 | 68f36e401e029781437823a443311599 |
|
BLAKE2b-256 | aa884a54518affbfc9a86a065d2759ab6ac39e785f4019b7aa7de3b0dd236cca |