Spaces:
Paused
Paused
File size: 3,332 Bytes
ec0af77 ed29a44 ec0af77 6aa2a77 ec0af77 74b9c80 b262a52 74b9c80 ec0af77 6aa2a77 74b9c80 6aa2a77 4a63e29 6aa2a77 f9feaf6 6aa2a77 ec0af77 f9feaf6 b262a52 e20fe4b 6a89ecc f55b185 ed29a44 6a89ecc f8b2779 ec0af77 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | 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()
|