freddyaboulton's picture
Upload folder using huggingface_hub
f8b2779 verified
from datetime import datetime
import time
import gradio as gr
def update_log():
return datetime.now().timestamp()
def get_target(evt: gr.EventData):
return evt.target
def get_select_index(evt: gr.SelectData):
return evt.index
with gr.Blocks() as demo:
gr.Textbox(value=update_log, every=0.5, label="Time")
slider = gr.Slider(1, 10, step=1, label="Slider")
@gr.render(inputs=[slider])
def show_log(s):
with gr.Row():
for i in range(s):
gr.Textbox(value=update_log, every=0.5, label=f"Render {i + 1}")
slider2 = gr.Slider(1, 10, step=1, label="Box Count")
btn = gr.Button("Create Boxes")
@gr.render(inputs=[slider2], triggers=[btn.click])
def show_log_2(s):
for i in range(s):
gr.Textbox(value=str(i), label=f"Count {i + 1}")
with gr.Row():
selected_btn = gr.Textbox(label="Selected Button")
selected_chat = gr.Textbox(label="Selected Chat")
@gr.render(inputs=[slider])
def show_buttons(s):
with gr.Row():
with gr.Column():
for i in range(s):
btn = gr.Button(f"Button {i + 1}")
btn.click(get_target, None, selected_btn)
chatbot = gr.Chatbot([{"role": "user", "content": "Hello"}, {"role": "assistant", "content": "Hi"}, {"role": "user", "content": "How are you?"}, {"role": "assistant", "content": "I'm good."}]) # type: ignore
chatbot.select(get_select_index, None, selected_chat)
selectable_chat = gr.Chatbot([{"role": "user", "content": "chat1"}, {"role": "assistant", "content": "chat2"}, {"role": "user", "content": "chat3"}, {"role": "assistant", "content": "chat4"}]) # type: ignore
@gr.render(triggers=[selectable_chat.select])
def show_selected_chat(selection: gr.SelectData):
gr.Textbox(label="Trigger Index", value=selection.index)
@gr.render()
def examples_in_interface():
gr.Interface(lambda x:x, gr.Textbox(label="input"), gr.Textbox(), examples=[["test"]])
@gr.render()
def examples_in_blocks():
a = gr.Textbox(label="little textbox")
gr.Examples([["abc"], ["def"]], [a])
choices_count = gr.Slider(1, 10, 3, step=1, label="Choices")
@gr.render(choices_count)
def show_choices(count):
with gr.Row():
letter_choices = gr.Radio(list('abcdefghij')[:int(count)], label="Choices", key="choices", preserved_by_key=["value", "label"], interactive=True)
textbox = gr.Textbox(label="Set Label", value="Choices")
textbox.change(lambda l: gr.Radio(label=l), textbox, letter_choices)
timer = gr.Timer(0.5)
@gr.render(triggers=[timer.tick], show_progress="hidden")
def render():
a = gr.Textbox(label="box-a", key="a")
b = gr.Textbox(label="box-b", key="b")
a.change(lambda x: time.sleep(0.5) or x, a, b, key="a-b")
gr.Number(value=round(time.time(), 2))
render_tab = gr.Button("Render Tab")
@gr.render(triggers=[render_tab.click])
def test_render():
with gr.Tabs():
with gr.Tab():
gr.Textbox("This is a rendered tab", label="Rendered Tab")
with gr.Tab():
gr.Textbox("Another Tab", label="Another Tab")
if __name__ == '__main__':
demo.launch()