kangas-demo / app.py
HelloFriend22's picture
Update app.py
065d940
from functools import partial
from pathlib import Path
import kangas as kg
import streamlit as st
import streamlit.components.v1 as components
from datasets import load_dataset
proj_dir = Path(__file__).parent
servername = 'hellofriend22-kangas-demo.hf.space'
src = f"https://{servername}:443"
st.set_page_config(layout="wide")
st.markdown("1. Select dataset of your choice")
def kangas_fn(dataset_repo):
with st.spinner("Loading Dataset..."):
dataset = load_dataset(dataset_repo, split="train")
with st.spinner("Creating Kangas..."):
dg = kg.DataGrid(dataset)
dg_file_name = dataset_repo.replace('/', '__') + '.datagrid'
with st.spinner("Saving Kangas..."):
dg.save(str(proj_dir / 'datagrids' / dg_file_name))
kg.launch(host=servername)
height = st.sidebar.slider("iFrame Height", 200, 1500, 900, 100)
scrolling = st.sidebar.checkbox("iFrame Scrolling")
hf_dataset = st.text_input("HuggingFace Dataset", value='beans')
st.button("Download and Run", on_click=partial(kangas_fn, hf_dataset))
st.markdown("""Click the dropdown in Kangas to see pre-loaded datasets""")
st.components.v1.iframe(src, None, height, scrolling=True)