Spaces:
Sleeping
Sleeping
import os | |
import sys | |
import gradio as gr | |
from dotenv import load_dotenv | |
# Load environment variables from .env file | |
load_dotenv() | |
# Make sure we can import from the current directory structure | |
sys.path.append(os.path.dirname(os.path.abspath(__file__))) | |
# Import the refactored UI components | |
from ui import ConfigEditor, ImageProcessor, PetriConverter | |
from config.path_config import ensure_directories_exist | |
def create_app(): | |
"""Create and configure the main Gradio application""" | |
# Ensure directories exist | |
ensure_directories_exist() | |
# Create UI component instances | |
config_editor = ConfigEditor() | |
image_processor = ImageProcessor() | |
petri_converter = PetriConverter() | |
# Create the main application | |
with gr.Blocks(title="Petri Net Converter Suite") as app: | |
gr.Markdown("# Petri Net Converter Suite") | |
with gr.Tabs(): | |
# Create each tab using the modular components | |
config_editor.create_interface() | |
image_processor.create_interface() | |
petri_converter.create_interface() | |
return app | |
def main(): | |
"""Main entry point for the application""" | |
app = create_app() | |
# For Hugging Face Spaces, we want to launch with share=False and server_name="0.0.0.0" | |
app.launch( | |
server_name="0.0.0.0", | |
server_port=7860, | |
share=False | |
) | |
if __name__ == "__main__": | |
main() |