Benjamin Bossan
Add help page
4c1bb6f
raw
history blame contribute delete
No virus
1.42 kB
"""The app.py used with streamlit
This ties together the different parts of the app.
"""
import os
import shutil
from pathlib import Path
from tempfile import mkdtemp
from typing import Literal
import streamlit as st
from create import create_repo_input_form
from edit import edit_input_form
from gethelp import help_page
from start import start_input_form
# Change cwd to a temporary path
if "work_dir" not in st.session_state:
work_dir = Path(mkdtemp(prefix="skops-"))
shutil.copy2("cat.png", work_dir / "cat.png")
os.chdir(work_dir)
st.session_state.work_dir = work_dir
# Create a hf_path, which is where the repo will be created locally. When the
# session is created, copy the dummy cat.png file there and make it the cwd
if "hf_path" not in st.session_state:
hf_path = Path(mkdtemp(prefix="skops-"))
st.session_state.hf_path = hf_path
st.header("Skops model card creator")
class Screen:
state: Literal["start", "edit", "create_repo"] = "start"
if "screen" not in st.session_state:
st.session_state.screen: Screen = Screen()
if st.session_state.screen.state == "start":
start_input_form()
elif st.session_state.screen.state == "help":
help_page()
elif st.session_state.screen.state == "edit":
edit_input_form()
elif st.session_state.screen.state == "create_repo":
create_repo_input_form()
else:
st.write("Something went wrong, please open an issue")