"""Initialize and run the HomologyViz graphical user interface.This module serves as the entry point for launching the HomologyViz Dash application. Itsets up the app layout, registers interactive callbacks, and opens the app in the defaultweb browser.Notes------ This file is part of HomologyViz- BSD 3-Clause License- Copyright (c) 2024, Iván Muñoz Gutiérrez"""importwebbrowserimportdashfromdashimport_dash_rendererimportdash_bootstrap_componentsasdbcfromhomologyviz.callbacksimportregister_callbacksfromhomologyviz.layoutimportcreate_layoutfromhomologyviz.cliimportparse_command_line_input
[docs]defmain()->None:""" Create and run the HomologyViz Dash application. This function initializes the app, applies theming, builds the layout, registers all callbacks, opens the browser, and starts the server. """# Parse command line inputparse_command_line_input()# This variable must be set according to the Dash Mantine Components_dash_renderer._set_react_version("18.2.0")# Initialize the Dash app with a Bootstrap themeapp=dash.Dash(__name__,external_stylesheets=[dbc.themes.DARKLY])# Create the app layoutapp=create_layout(app)# Register callbacksapp=register_callbacks(app=app)# Open the app in the default web browserwebbrowser.open("http://127.0.0.1:8050")# Run the appapp.run(# debug=True,# use_reloader=False,)