Spaces:
Runtime error
Runtime error
| import importlib | |
| import gradio as gr | |
| import os | |
| import sys | |
| import copy | |
| import pathlib | |
| demo_dir = pathlib.Path(__file__).parent / "demos" | |
| all_demos = [] | |
| for p in os.listdir("./demos"): | |
| full_dir = os.path.join(demo_dir, p) | |
| is_dir = os.path.isdir(full_dir) | |
| no_requirements = not os.path.exists(os.path.join(full_dir, "requirements.txt")) | |
| has_app = os.path.exists(os.path.join(full_dir, "run.py")) | |
| if is_dir and no_requirements and has_app: | |
| all_demos.append(p) | |
| to_exclude = ["blocks_demos", "rows_and_columns", "image_classifier_interface_load", "generate_english_german", | |
| "all_demos"] | |
| all_demos = [d for d in all_demos if d not in to_exclude] | |
| demo_module = None | |
| with gr.Blocks() as mega_demo: | |
| with gr.Tabs(): | |
| for demo_name in all_demos: | |
| with gr.TabItem(demo_name): | |
| old_path = copy.deepcopy(sys.path) | |
| sys.path = [os.path.join(demo_dir, demo_name)] + sys.path | |
| if demo_module is None: | |
| demo_module = importlib.import_module(f"run") | |
| else: | |
| demo_module = importlib.reload(demo_module) | |
| demo_module.demo | |
| sys.path = old_path | |
| mega_demo.launch() | |