import time import gradio as gr from huggingface_hub import HfFileSystem fs = HfFileSystem() def init_choices(): #t = time.gmtime(time.time()) #return {"a": 1, "b": 2, f"{t.tm_min}:{t.tm_sec}": 3} path = "datasets/albertvillanova/tmp-state-on-load-ds/**/**/*.json" paths = HfFileSystem().glob(path) return {path: path for path in paths} with gr.Blocks() as demo: dropdown = gr.Dropdown(label="Select", multiselect=True, choices=["a0", "b0"]) dropdown2 = gr.Dropdown(label="Select", multiselect=True) state = gr.State() clear = gr.Button("Clear") gr.on( [demo.load, clear.click], fn=init_choices, outputs=state, ).then( fn=lambda x: gr.Dropdown(choices=list(x.keys()), interactive=True), inputs=state, outputs=dropdown2, ) demo.launch() """ demo.load( fn=init_choices, outputs=state, ).then( fn=lambda x: gr.Dropdown(choices=x), inputs=state, outputs=dropdown, ) """