Files
data_pipeline_for_YNAB/visuals/dash_app.py
T
Jake c0b5e95d98 .
2025-04-08 19:43:50 +01:00

28 lines
859 B
Python

'''Module to create a Dash app that displays visualizations of YNAB data.'''
import dash
from dash import dcc, html
from dash.dependencies import Input, Output
import dash_bootstrap_components as dbc
from visuals.layout import create_layout
from visuals.components import update_data, update_dates
from datetime import date
master_data = update_dates(start_date=date(2024, 1, 1), end_date=date(2026, 1, 1))
data = update_data(master_data)
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.DARKLY])
@app.callback(
Output("layout-container", "children"),
[Input('date-picker-range', 'start_date'),
Input('date-picker-range', 'end_date')]
)
def update_layout(start_date,end_date):
master_data = update_dates(start_date, end_date)
data = update_data(master_data)
return create_layout(data)
app.layout = create_layout(data)