C-Dash: Pre-load the data from parquets
[csit.git] / csit.infra.dash / app / cdash / stats / stats.py
index 062e6b0..fdeef8b 100644 (file)
 """Instantiate the Statistics Dash application.
 """
 import dash
+import pandas as pd
 
 from ..utils.constants import Constants as C
 from .layout import Layout
 
 
-def init_stats(server, time_period=None):
+def init_stats(
+        server,
+        data_stats: pd.DataFrame,
+        data_trending: pd.DataFrame
+    ) -> dash.Dash:
     """Create a Plotly Dash dashboard.
 
     :param server: Flask server.
+    :param data_stats: Pandas dataframe with staistical data.
+    :param data_trending: Pandas dataframe with trending data.
     :type server: Flask
+    :type data_stats: pandas.DataFrame
+    :type data_trending: pandas.DataFrame
     :returns: Dash app server.
     :rtype: Dash
     """
@@ -37,11 +46,11 @@ def init_stats(server, time_period=None):
 
     layout = Layout(
         app=dash_app,
+        data_stats=data_stats,
+        data_trending=data_trending,
         html_layout_file=C.HTML_LAYOUT_FILE,
         graph_layout_file=C.STATS_GRAPH_LAYOUT_FILE,
-        data_spec_file=C.DATA_SPEC_FILE,
-        tooltip_file=C.TOOLTIP_FILE,
-        time_period=time_period
+        tooltip_file=C.TOOLTIP_FILE
     )
     dash_app.index_string = layout.html_layout
     dash_app.layout = layout.add_content()