Spaces:
Running
Running
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 | |
import socket | |
proj_dir = Path(__file__).parent | |
hostname = socket.gethostname() | |
ip_address = socket.gethostbyname(hostname) | |
servername = 'calebcometml-kangas-demo.hf.space' | |
src = f"https://{servername}/kangas" | |
st.set_page_config(layout="wide") | |
st.markdown("1. Select dataset of your choice") | |
def kangas_fn(dataset_repo): | |
repo_wo_slash = dataset_repo.replace('/', '__') + '.datagrid' | |
dg_file_name = repo_wo_slash + '.datagrid' | |
with st.spinner("Loading Dataset..."): | |
dataset = load_dataset(dataset_repo, split="train") | |
with st.spinner("Creating Kangas..."): | |
dg = kg.DataGrid(dataset) | |
with st.spinner("Saving Kangas..."): | |
dg.save(str(proj_dir / 'datagrids' / dg_file_name)) | |
#kg.show( | |
# port=7640, | |
# host=servername, | |
# protocol="https" | |
#) | |
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) | |