OCEANAI / app.py
ElenaRyumina's picture
Summary
f51c1fd
raw
history blame
1.16 kB
"""
File: app.py
Authors: Elena Ryumina and Dmitry Ryumin
Description: OCEANAI App for gradio.
License: MIT License
"""
import gradio as gr
# Importing necessary components for the Gradio app
from app.config import CONFIG_NAME, config_data, load_tab_creators
from app.event_handlers.event_handlers import setup_app_event_handlers
from app import tabs
def create_gradio_app() -> gr.Blocks:
with gr.Blocks(css=config_data.AppSettings_CSS_PATH) as gradio_app:
tab_results = {}
available_functions = {
attr: getattr(tabs, attr)
for attr in dir(tabs)
if callable(getattr(tabs, attr)) and attr.endswith("_tab")
}
tab_creators = load_tab_creators(CONFIG_NAME, available_functions)
for tab_name, create_tab_function in tab_creators.items():
with gr.Tab(tab_name):
app_instance = create_tab_function()
tab_results[tab_name] = app_instance
setup_app_event_handlers(*tab_results[list(tab_results.keys())[0]])
return gradio_app
if __name__ == "__main__":
create_gradio_app().queue(api_open=False).launch(share=True)