import logging | |
try: | |
import streamlit as st | |
except ImportError: | |
logging.info("Streamlit not installed") | |
def check_streamlit(): | |
""" | |
Function to check whether python code is run within streamlit | |
Returns | |
------- | |
use_streamlit : boolean | |
True if code is run within streamlit, else False | |
""" | |
try: | |
from streamlit.scriptrunner.script_run_context import get_script_run_ctx | |
if not get_script_run_ctx(): | |
use_streamlit = False | |
else: | |
use_streamlit = True | |
except ModuleNotFoundError: | |
use_streamlit = False | |
return use_streamlit | |
def disable_other_checkboxes(*other_checkboxes_keys): | |
for checkbox_key in other_checkboxes_keys: | |
st.session_state[checkbox_key] = False | |
def checkbox_without_preselect(keylist): | |
dict_ = {} | |
for i,key_val in enumerate(keylist): | |
dict_[i] = st.checkbox(key_val,key = key_val, | |
on_change = disable_other_checkboxes, | |
args=tuple(list(filter(lambda x: x!= key_val, keylist))),) | |
for key,val in dict_: | |
if val == True: | |
return keylist[int(key)] | |
return None |