Skip to content
Snippets Groups Projects
app.py 877 B
Newer Older
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

import argparse
import logging

from dash import Dash

from layout import layout
from callbacks import register_callbacks

logging.basicConfig(level=logging.INFO)


# get the correct port from proxy
parser = argparse.ArgumentParser()
parser.add_argument("--port", type=int)
args = parser.parse_args()
port: int = args.port

if not port:
    raise ValueError(f"Port of proxy server for Dash not found in {args}.")
else: 
    logging.debug(f"Dash app running on port {port}.")

# define Dash app
app = Dash(
    name=__name__, 
    requests_pathname_prefix="/Dash/"
)

# define layout
app.layout = layout

# register all callback functions
register_callbacks(app=app)

# Run Dash app in the notebook
app.run(
    jupyter_mode="jupyterlab", 
    port=port, 
    host="localhost",
    debug=True
)