litbee / app.py
freemt
Update app.py pd.set_option("display.precision", 2)
ac70c21
raw
history blame
2 kB
"""Prep __main__.py."""
# pylint: disable=invalid-name
import os
from pathlib import Path
from typing import Optional
import pandas as pd
import streamlit as st
from streamlit import session_state as state
from types import SimpleNamespace
import logzero
from logzero import logger
from set_loglevel import set_loglevel
from litbee import __version__, litbee
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
os.environ["TZ"] = "Asia/Shanghai"
os.environ["LOGLEVEL"] = "10"
logzero.loglevel(set_loglevel())
st.set_page_config(
page_title=f"litbee v{__version__}",
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
if "ns" not in state:
state.ns = SimpleNamespace()
def main():
# instructions()
sb_front_cover()
try:
_ = state.ns.df
state.ns.count += 1
logger.debug(" run: %s", state.ns.count)
except AttributeError:
logger.debug("first run")
# df = files2df("data/en.txt", "data/zh.txt")
df = files2df("data/test_en.txt", "data/test_zh.txt")
state.ns.count = 1
state.ns.df = df
# multi-page setup
menu = {
"ezbee": ezbee_page,
"dzbee": dzbee_page,
"xbee": xbee_page,
}
selection = st.sidebar.radio("", menu)
page = menu[selection]
# page.app()
page()
# 'items', 'keys', values, 'to_dict', 'update', 'values'
# logger.debug("state.ns: %s", state.ns)
st.write(f"run: {state.ns.count}")
# st.dataframe(state.ns.df)
# st.markdown(html_string, unsafe_allow_html=True)
# st.markdown(state.ns.df.to_html(), unsafe_allow_html=True)
main()