"""Dash application factory with Pages routing.""" import dash from dash import html from .config import get_settings def create_app() -> dash.Dash: """Create and configure the Dash application.""" settings = get_settings() app = dash.Dash( __name__, use_pages=True, suppress_callback_exceptions=True, title="Analytics Portfolio", ) app.layout = html.Div( [ dash.page_container, ] ) return app def main() -> None: """Run the development server.""" settings = get_settings() app = create_app() app.run(debug=settings.dash_debug, host="0.0.0.0", port=8050) if __name__ == "__main__": main()