Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from datetime import datetime | |
| import os | |
| import random | |
| import string | |
| import pandas as pd | |
| import numpy as np | |
| import matplotlib.pyplot as plt | |
| def random_plot(): | |
| start_year = 2020 | |
| x = np.arange(start_year, start_year + 5) | |
| year_count = x.shape[0] | |
| plt_format = "-" | |
| fig = plt.figure() | |
| ax = fig.add_subplot(111) | |
| series = np.arange(0, year_count, dtype=float) | |
| series = series**2 | |
| series += np.random.rand(year_count) | |
| ax.plot(x, series, plt_format) | |
| return fig | |
| images = [ | |
| "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=387&q=80", | |
| "https://images.unsplash.com/photo-1554151228-14d9def656e4?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=386&q=80", | |
| "https://images.unsplash.com/photo-1542909168-82c3e7fdca5c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8MXx8aHVtYW4lMjBmYWNlfGVufDB8fDB8fA%3D%3D&w=1000&q=80", | |
| ] | |
| file_dir = os.path.join(os.path.dirname(__file__), "..", "kitchen_sink", "files") | |
| model3d_dir = os.path.join(os.path.dirname(__file__), "..", "model3D", "files") | |
| highlighted_text_output_1 = [ | |
| { | |
| "entity": "I-LOC", | |
| "score": 0.9988978, | |
| "index": 2, | |
| "word": "Chicago", | |
| "start": 5, | |
| "end": 12, | |
| }, | |
| { | |
| "entity": "I-MISC", | |
| "score": 0.9958592, | |
| "index": 5, | |
| "word": "Pakistani", | |
| "start": 22, | |
| "end": 31, | |
| }, | |
| ] | |
| highlighted_text_output_2 = [ | |
| { | |
| "entity": "I-LOC", | |
| "score": 0.9988978, | |
| "index": 2, | |
| "word": "Chicago", | |
| "start": 5, | |
| "end": 12, | |
| }, | |
| { | |
| "entity": "I-LOC", | |
| "score": 0.9958592, | |
| "index": 5, | |
| "word": "Pakistan", | |
| "start": 22, | |
| "end": 30, | |
| }, | |
| ] | |
| highlighted_text = "Does Chicago have any Pakistani restaurants" | |
| def random_model3d(): | |
| model_3d = random.choice( | |
| [os.path.join(model3d_dir, model) for model in os.listdir(model3d_dir) if model != "source.txt"] | |
| ) | |
| return model_3d | |
| components = [ | |
| gr.Textbox(value=lambda: datetime.now(), label="Current Time"), | |
| gr.Number(value=lambda: random.random(), label="Random Percentage"), | |
| gr.Slider(minimum=0, maximum=100, randomize=True, label="Slider with randomize"), | |
| gr.Slider( | |
| minimum=0, | |
| maximum=1, | |
| value=lambda: random.random(), | |
| label="Slider with value func", | |
| ), | |
| gr.Checkbox(value=lambda: random.random() > 0.5, label="Random Checkbox"), | |
| gr.CheckboxGroup( | |
| choices=["a", "b", "c", "d"], | |
| value=lambda: random.choice(["a", "b", "c", "d"]), | |
| label="Random CheckboxGroup", | |
| ), | |
| gr.Radio( | |
| choices=list(string.ascii_lowercase), | |
| value=lambda: random.choice(string.ascii_lowercase), | |
| ), | |
| gr.Dropdown( | |
| choices=["a", "b", "c", "d", "e"], | |
| value=lambda: random.choice(["a", "b", "c"]), | |
| ), | |
| gr.Image( | |
| value=lambda: random.choice(images) | |
| ), | |
| gr.Video(value=lambda: os.path.join(file_dir, "world.mp4")), | |
| gr.Audio(value=lambda: os.path.join(file_dir, "cantina.wav")), | |
| gr.File( | |
| value=lambda: random.choice( | |
| [os.path.join(file_dir, img) for img in os.listdir(file_dir)] | |
| ) | |
| ), | |
| gr.Dataframe( | |
| value=lambda: pd.DataFrame({"random_number_rows": range(5)}, columns=["one", "two", "three"]) | |
| ), | |
| gr.ColorPicker(value=lambda: random.choice(["#000000", "#ff0000", "#0000FF"])), | |
| gr.Label(value=lambda: random.choice(["Pedestrian", "Car", "Cyclist"])), | |
| gr.HighlightedText( | |
| value=lambda: random.choice( | |
| [ | |
| {"text": highlighted_text, "entities": highlighted_text_output_1}, | |
| {"text": highlighted_text, "entities": highlighted_text_output_2}, | |
| ] | |
| ), | |
| ), | |
| gr.JSON(value=lambda: random.choice([{"a": 1}, {"b": 2}])), | |
| gr.HTML( | |
| value=lambda: random.choice( | |
| [ | |
| '<p style="color:red;">I am red</p>', | |
| '<p style="color:blue;">I am blue</p>', | |
| ] | |
| ) | |
| ), | |
| gr.Gallery( | |
| value=lambda: images | |
| ), | |
| gr.Model3D(value=random_model3d), | |
| gr.Plot(value=random_plot), | |
| gr.Markdown(value=lambda: f"### {random.choice(['Hello', 'Hi', 'Goodbye!'])}"), | |
| ] | |
| def evaluate_values(*args): | |
| are_false = [] | |
| for a in args: | |
| if isinstance(a, (pd.DataFrame, np.ndarray)): | |
| are_false.append(not a.any().any()) | |
| elif isinstance(a, str) and a.startswith("#"): | |
| are_false.append(a == "#000000") | |
| else: | |
| are_false.append(not a) | |
| return all(are_false) | |
| with gr.Blocks() as demo: | |
| for i, component in enumerate(components): | |
| component.label = f"component_{str(i).zfill(2)}" | |
| component.render() | |
| clear = gr.ClearButton(value="Clear", components=components) | |
| result = gr.Textbox(label="Are all cleared?") | |
| hide = gr.Button(value="Hide") | |
| reveal = gr.Button(value="Reveal") | |
| clear_button_and_components = components + [clear] | |
| hide.click( | |
| lambda: [c.__class__(visible=False) for c in clear_button_and_components], | |
| inputs=[], | |
| outputs=clear_button_and_components | |
| ) | |
| reveal.click( | |
| lambda: [c.__class__(visible=True) for c in clear_button_and_components], | |
| inputs=[], | |
| outputs=clear_button_and_components | |
| ) | |
| get_value = gr.Button(value="Get Values") | |
| get_value.click(evaluate_values, components, result) | |
| if __name__ == "__main__": | |
| demo.launch() | |