Spaces:
Sleeping
Sleeping
File size: 5,010 Bytes
2c2081e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
"""Prep __main__.py.
https://share.streamlit.io/deploy
Advanced settings...
Python version
3.7
3.8
3.9*
3.10
https://docs.streamlit.io/knowledge-base/using-streamlit/hide-row-indices-displaying-dataframe
Hide row indices when displaying a dataframe
# CSS to inject contained in a string
hide_table_row_index = '''
<style>
tbody th {display:none}
.blank {display:none}
</style>
'''
# Inject CSS with Markdown
st.markdown(hide_table_row_index, unsafe_allow_html=True)
# Display a static table
st.table(df)
# Hide row indices with st.dataframe
# CSS to inject contained in a string
hide_dataframe_row_index = '''
<style>
.row_heading.level0 {display:none}
.blank {display:none}
</style>
'''
# Inject CSS with Markdown
st.markdown(hide_dataframe_row_index, unsafe_allow_html=True)
# Display an interactive table
st.dataframe(df)
https://medium.com/@avra42/streamlit-python-cool-tricks-to-make-your-web-application-look-better-8abfc3763a5b
hide_menu_style = '''
<style>
#MainMenu {visibility: hidden; }
footer {visibility: hidden;}
</style>
'''
st.markdown(hide_menu_style, unsafe_allow_html=True)
"""
# pylint: disable=invalid-name
import os
import sys
import time
from pathlib import Path
from types import SimpleNamespace
from typing import Optional
import loguru
import logzero
import pandas as pd
import ezbee
import dzbee
import debee
import streamlit as st
from loguru import logger as loggu
from logzero import logger
from set_loglevel import set_loglevel
from streamlit import session_state as state
from litbee import __version__
# from litbee.options import options
# from litbee.files2df import files2df
# from litbee.utils import sb_front_cover, instructions, menu_items
# from litbee.ezbee_page import ezbee_page
# from litbee.dzbee_page import dzbee_page
# from litbee.xbee_page import xbee_page
from litbee.utils import menu_items
from litbee.multipage import Multipage
# from litbee.fetch_upload import fetch_upload
# from litbee.fetch_paste import fetch_paste
# from litbee.fetch_urls import fetch_urls
from litbee.home import home
from litbee.settings import settings
from litbee.info import info
from litbee.utils import style_css
# from ezbee import ezbee
curr_py = sys.version[:3]
msg = f"Some packages litbee depends on can only run with Python 3.8, current python is **{curr_py}**, sorry..."
assert curr_py == "3.8", msg
os.environ["TZ"] = "Asia/Shanghai"
try:
time.tzset() # type: ignore
except Exception as _:
logger.warning("time.tzset() error: %s. Probably running Windows, we let it pass.", _)
# uncomment this in dev oe set/export LOGLEVEL=10
# os.environ["LOGLEVEL"] = "10"
logzero.loglevel(set_loglevel())
loggu.remove()
_ = (
"<green>{time:YY-MM-DD HH:mm:ss}</green> | "
"<level>{level: <5}</level> | <level>{message}</level> "
"<cyan>{module}.{name}</cyan>:<cyan>{line}</cyan>"
)
loggu.add(
sys.stderr,
format=_,
level=set_loglevel(),
colorize=True,
)
# from PIL import Image
# page_icon=Image.open("icon.ico"),
st.set_page_config( # type: ignore
page_title=f"litbee v{__version__}",
# page_icon="π§",
page_icon="π",
# layout="wide",
initial_sidebar_state="auto", # "auto" or "expanded" or "collapsed",
menu_items=menu_items,
)
# pd.set_option("precision", 2)
pd.set_option("display.precision", 2)
pd.options.display.float_format = "{:,.2f}".format
sourcetype = "upload"
if set_loglevel() <= 10:
sourcetype = "urls"
_ = dict(
beetype="ezbee",
sourcetype=sourcetype,
sourcecount=2,
sentali=None,
src_filename="",
tgt_filename="",
src_fileio=b"",
tgt_fileio=b"",
src_file="",
tgt_file="",
list1=[""],
list2=[""],
df=None,
df_a=None,
df_s_a=None,
count=1,
updated=False,
)
if "ns" not in state:
state.ns = SimpleNamespace(**_)
state.ns.list = [*_]
logger.info(
"versions ezbee dzbee debee: %s, %s, %s",
ezbee.__version__,
dzbee.__version__,
debee.__version__,
)
def main():
"""Bootstrap."""
# options()
st.markdown(f"<style>{style_css}</style>", unsafe_allow_html=True)
app = Multipage()
# app.add_page("Home", "house", ask.app)
# app.add_page("Settings", "gear", settings.app)
# app.add_page("Info", "info", info.app)
# app.add_page("Home", "house", fetch_upload)
app.add_page("Home", "house", home)
app.add_page("Settings", "gear", settings)
app.add_page("Info", "info", info)
# The main app
app.run()
# st.markdown(f"""<div class="text"> run: {state.ns.count}</div>""", unsafe_allow_html=True)
if set_loglevel() <= 10:
st.markdown(state.ns.count)
loggu.debug(f" run: {state.ns.count}")
logger.debug(f" run: {state.ns.count}")
state.ns.count += 1
state.ns.updated = False
main()
|