|
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_.items(): |
|
if val == True: |
|
return keylist[int(key)] |
|
|
|
return None |