From 4489ce6b135c96dcbffeb681713f2f310870c4c9 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:48:27 -0500 Subject: [PATCH 01/44] add type hinting --- src/innov8/components/decorators.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/innov8/components/decorators.py b/src/innov8/components/decorators.py index e1439f5..5251423 100644 --- a/src/innov8/components/decorators.py +++ b/src/innov8/components/decorators.py @@ -1,11 +1,20 @@ +from functools import wraps +from typing import Any, Callable, TypeVar + +from typing_extensions import Concatenate, ParamSpec + from innov8.app import app from innov8.db_ops import data +P = ParamSpec("P") +R = TypeVar("R") + + +def data_access(func: Callable[Concatenate[Any, P], R]) -> Callable[P, R]: + """Decorator which passes the db_ops.data instance as the first parameter of any function it decorates""" -# Define a decorator which passes the data_instance as the first parameter -# of any function it decorates -def data_access(func): - def inner(*args, **kwargs): + @wraps(func) + def inner(*args: P.args, **kwargs: P.kwargs) -> R: return func(data, *args, **kwargs) return inner From d40547623bd47cec4f94f0c9fe6607fb73b13195 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:52:55 -0500 Subject: [PATCH 02/44] move decorator, adjust and ignore some types --- src/innov8/app.py | 1 + src/innov8/components/charts_52w.py | 4 ++-- src/innov8/components/dropdowns.py | 2 +- src/innov8/components/forcast.py | 2 +- src/innov8/components/intra_sector.py | 2 +- src/innov8/components/main_carousel.py | 2 +- src/innov8/components/price_card.py | 2 +- src/innov8/components/price_chart.py | 2 +- src/innov8/components/update.py | 2 +- src/innov8/db_ops.py | 17 +++++++++++++---- .../decorators.py => decorators/data_access.py} | 0 src/innov8/update_all.py | 2 +- 12 files changed, 24 insertions(+), 14 deletions(-) rename src/innov8/{components/decorators.py => decorators/data_access.py} (100%) diff --git a/src/innov8/app.py b/src/innov8/app.py index d811cb6..4dd9eed 100644 --- a/src/innov8/app.py +++ b/src/innov8/app.py @@ -18,4 +18,5 @@ title="innov8finance", background_callback_manager=background_callback_manager, suppress_callback_exceptions=True, + serve_locally=False, ) diff --git a/src/innov8/components/charts_52w.py b/src/innov8/components/charts_52w.py index 96a999c..fda9d58 100644 --- a/src/innov8/components/charts_52w.py +++ b/src/innov8/components/charts_52w.py @@ -4,7 +4,7 @@ from dash.dependencies import Input, Output from dash_bootstrap_templates import ThemeChangerAIO, template_from_url -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access # Carousel showing 52-week data @@ -85,7 +85,7 @@ def update_52_week_charts(data, symbol, theme, update): gauge={ "axis": {"range": [df_52_week_low, df_52_week_high]}, # Set bar color to theme's primary color (extracted from previous chart) - "bar": {"color": fig.layout.template.layout.colorway[0]}, + "bar": {"color": fig.layout.template.layout.colorway[0]}, # type: ignore }, domain={"x": [0, 1], "y": [0, 0.9]}, ) diff --git a/src/innov8/components/dropdowns.py b/src/innov8/components/dropdowns.py index aeb0d7c..3b10b1d 100644 --- a/src/innov8/components/dropdowns.py +++ b/src/innov8/components/dropdowns.py @@ -1,7 +1,7 @@ from dash import dcc from dash.dependencies import Input, Output -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access # list all sectors sector_query = """ diff --git a/src/innov8/components/forcast.py b/src/innov8/components/forcast.py index 4bf4f5d..5000674 100644 --- a/src/innov8/components/forcast.py +++ b/src/innov8/components/forcast.py @@ -4,7 +4,7 @@ import dash_bootstrap_components as dbc from dash import Input, Output, State, ctx, no_update -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access def forecast_button() -> dbc.Button: diff --git a/src/innov8/components/intra_sector.py b/src/innov8/components/intra_sector.py index 253a9d4..e47fc20 100644 --- a/src/innov8/components/intra_sector.py +++ b/src/innov8/components/intra_sector.py @@ -4,7 +4,7 @@ from dash import dash_table, dcc, html from dash.dependencies import Input, Output -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access # Store intermediate values diff --git a/src/innov8/components/main_carousel.py b/src/innov8/components/main_carousel.py index 2a61e95..6f586b0 100644 --- a/src/innov8/components/main_carousel.py +++ b/src/innov8/components/main_carousel.py @@ -2,7 +2,7 @@ from dash import html from dash.dependencies import Input, Output -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access change_query = """ WITH growth AS ( diff --git a/src/innov8/components/price_card.py b/src/innov8/components/price_card.py index 50881b7..d1590e3 100644 --- a/src/innov8/components/price_card.py +++ b/src/innov8/components/price_card.py @@ -1,7 +1,7 @@ from dash import html from dash.dependencies import Input, Output -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access # div with main ticker information diff --git a/src/innov8/components/price_chart.py b/src/innov8/components/price_chart.py index edcad1d..dd28692 100644 --- a/src/innov8/components/price_chart.py +++ b/src/innov8/components/price_chart.py @@ -8,7 +8,7 @@ from dash.exceptions import PreventUpdate from dash_bootstrap_templates import ThemeChangerAIO, template_from_url -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access def hex_to_rgba(hex_color, alpha=1.0) -> str: diff --git a/src/innov8/components/update.py b/src/innov8/components/update.py index d7790d0..67464ef 100644 --- a/src/innov8/components/update.py +++ b/src/innov8/components/update.py @@ -7,7 +7,7 @@ from tqdm import tqdm from innov8 import update_all -from innov8.components.decorators import callback, data_access +from innov8.decorators.data_access import callback, data_access # Button with scope dropdown diff --git a/src/innov8/db_ops.py b/src/innov8/db_ops.py index 1ddb2ee..2cfd6cf 100644 --- a/src/innov8/db_ops.py +++ b/src/innov8/db_ops.py @@ -1,6 +1,6 @@ import numpy as np -np.float_ = np.float64 +np.float_ = np.float64 # type: ignore import logging import os @@ -56,7 +56,7 @@ def __init__(self, script_directory: Path): self.con = sqlite3.connect(self.db_path, check_same_thread=False) self.cur = self.con.cursor() self.ticker_symbols = None - self.main_table: pd.DataFrame = None + self.main_table: pd.DataFrame | None = None # Check if the database is populated by checking if the price table is present if not self.cur.execute( @@ -280,7 +280,10 @@ def fill_ohlc(self): )[["Open", "High", "Low", "Close", "Volume"]] # Convert the date to a unix timestamp (remove timezone holding local time representations) ohlc_data.index = ( - ohlc_data.index.tz_localize(None).astype("int64") / 10**9 + cast(pd.DatetimeIndex, ohlc_data.index) + .tz_localize(None) + .astype("int64") + / 10**9 ) ohlc_data.reset_index(inplace=True) # Convert to a list of dictionaries (records) @@ -335,6 +338,7 @@ def fill_ohlc(self): def generate_forecast(self, symbol: str) -> None: df = self.main_table + assert df is not None predictions = {} periods = 5 @@ -531,7 +535,12 @@ def add_new_ohlc(self, symbol): start=next_entry, raise_errors=True )[["Open", "High", "Low", "Close", "Volume"]] # Convert the date to a unix timestamp (remove timezone holding local time representations) - ohlc_data.index = ohlc_data.index.tz_localize(None).astype("int64") / 10**9 + ohlc_data.index = ( + cast(pd.DatetimeIndex, ohlc_data.index) + .tz_localize(None) + .astype("int64") + / 10**9 + ) ohlc_data.reset_index(inplace=True) # Convert to a list of dictionaries (records) ohlc_data = ohlc_data.to_dict(orient="records") diff --git a/src/innov8/components/decorators.py b/src/innov8/decorators/data_access.py similarity index 100% rename from src/innov8/components/decorators.py rename to src/innov8/decorators/data_access.py diff --git a/src/innov8/update_all.py b/src/innov8/update_all.py index e7bda10..9577665 100644 --- a/src/innov8/update_all.py +++ b/src/innov8/update_all.py @@ -2,7 +2,7 @@ import numpy as np -np.float_ = np.float64 +np.float_ = np.float64 # type: ignore from loguru import logger from tqdm import tqdm From 9b01a87d8f0c27a50386d60cb18f12cdf4498966 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Mon, 14 Oct 2024 19:01:30 -0500 Subject: [PATCH 03/44] fix min width --- src/innov8/components/forcast.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/innov8/components/forcast.py b/src/innov8/components/forcast.py index 5000674..2f353b4 100644 --- a/src/innov8/components/forcast.py +++ b/src/innov8/components/forcast.py @@ -13,7 +13,7 @@ def forecast_button() -> dbc.Button: children="Forecast", outline=True, color="success", - style={"height": "37px", "width": "100%"}, + style={"height": "37px", "width": "100%", "min-width": "min-content"}, ) @@ -32,7 +32,7 @@ def forecast_button() -> dbc.Button: ) @data_access def update_price_chart_w_forecast(data, button, series_data, symbol, _) -> Any: - style = {"height": "37px", "width": "100%"} + style = {"height": "37px", "width": "100%", "min-width": "min-content"} # On initial render or ticker switch if ctx.triggered_id != "forecast-button" or ctx.triggered_id == "update-state": From 23f2cf79490c37945a426b95037be40db2306399 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:47:02 -0500 Subject: [PATCH 04/44] create and use default style --- src/innov8/components/forcast.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/innov8/components/forcast.py b/src/innov8/components/forcast.py index 2f353b4..d74f8c5 100644 --- a/src/innov8/components/forcast.py +++ b/src/innov8/components/forcast.py @@ -6,6 +6,15 @@ from innov8.decorators.data_access import callback, data_access +default_style = { + "height": "37px", + "width": "100%", + "min-width": "fit-content", + "display": "flex", + "justifyContent": "center", + "alignItems": "center", +} + def forecast_button() -> dbc.Button: return dbc.Button( @@ -13,7 +22,7 @@ def forecast_button() -> dbc.Button: children="Forecast", outline=True, color="success", - style={"height": "37px", "width": "100%", "min-width": "min-content"}, + style=default_style, ) @@ -32,7 +41,7 @@ def forecast_button() -> dbc.Button: ) @data_access def update_price_chart_w_forecast(data, button, series_data, symbol, _) -> Any: - style = {"height": "37px", "width": "100%", "min-width": "min-content"} + style = default_style.copy() # On initial render or ticker switch if ctx.triggered_id != "forecast-button" or ctx.triggered_id == "update-state": From 51a84eb9abb0772a86bceb61fe2858480e6fee57 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:55:21 -0500 Subject: [PATCH 05/44] refactor callback output and input --- src/innov8/components/forcast.py | 43 +++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/src/innov8/components/forcast.py b/src/innov8/components/forcast.py index d74f8c5..4f6551f 100644 --- a/src/innov8/components/forcast.py +++ b/src/innov8/components/forcast.py @@ -28,24 +28,33 @@ def forecast_button() -> dbc.Button: # Add forecast ohlc to main chart on button press @callback( - Output("tv-price-chart", "seriesData", allow_duplicate=True), - Output("forecast-button", "disabled"), - Output("forecast-button", "n_clicks"), - Output("forecast-button", "color"), - Output("forecast-button", "style"), Input("forecast-button", "n_clicks"), - State("tv-price-chart", "seriesData"), - Input("symbol-dropdown", "value"), - Input("update-state", "data"), + Input("tv-price-chart", "seriesData"), + State("symbol-dropdown", "value"), + output={ + "series_data": Output("tv-price-chart", "seriesData", allow_duplicate=True), + "forecast_button_disabled": Output("forecast-button", "disabled"), + "forecast_button_clicks": Output("forecast-button", "n_clicks"), + "forecast_button_color": Output("forecast-button", "color"), + "forecast_button_style": Output("forecast-button", "style"), + }, prevent_initial_call=True, ) @data_access -def update_price_chart_w_forecast(data, button, series_data, symbol, _) -> Any: +def update_price_chart_w_forecast(data, button, series_data, symbol) -> Any: style = default_style.copy() - # On initial render or ticker switch - if ctx.triggered_id != "forecast-button" or ctx.triggered_id == "update-state": - return (no_update, False, None, "success", style) + output = { + "series_data": no_update, + "forecast_button_disabled": False, + "forecast_button_clicks": no_update, + "forecast_button_color": "success", + "forecast_button_style": style, + } + + # Reset the button + if ctx.triggered_id != "forecast-button": + return output | {"forecast_button_clicks": None} # Change the button color and style depending on how many times the forecast button has been pressed match button: @@ -55,6 +64,7 @@ def update_price_chart_w_forecast(data, button, series_data, symbol, _) -> Any: color = "danger" case _: color = no_update + output |= {"forecast_button_color": color} match button: case 2 | 4: style |= {"filter": "hue-rotate(-7deg) contrast(1.05) brightness(0.75)"} @@ -80,6 +90,11 @@ def update_price_chart_w_forecast(data, button, series_data, symbol, _) -> Any: nxt = data.get_forecasts(symbol, forecast[4]) - return series_data, nxt is None, no_update, color, style + return output | { + "series_data": series_data, + "forecast_button_disabled": nxt is None, + } - return (no_update, True, no_update, color, style) + return output | { + "forecast_button_disabled": True, + } From 7b436d527481361548b79a0df309ff035b97f8fb Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:58:37 -0500 Subject: [PATCH 06/44] revert dash-bootstrap-templates to version 1.1.2 (to fix persistence) --- pdm.lock | 8 ++++---- pyproject.toml | 2 +- src/innov8/components/themes.py | 5 ----- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/pdm.lock b/pdm.lock index e3b9dfa..e68a625 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:1488de8559caa6e8958dfd0661c9c48468b8f8ec27ec624c0c0ac6fea97dc676" +content_hash = "sha256:1ca99bab482fe38b3db562e7dc1335fff1897af0fe3fafa7ba0def98e35abe4c" [[package]] name = "beautifulsoup4" @@ -255,7 +255,7 @@ files = [ [[package]] name = "dash-bootstrap-templates" -version = "1.2.0" +version = "1.1.2" summary = "A collection of Plotly figure templates with a Bootstrap theme" groups = ["default"] dependencies = [ @@ -264,8 +264,8 @@ dependencies = [ "numpy", ] files = [ - {file = "dash_bootstrap_templates-1.2.0-py3-none-any.whl", hash = "sha256:450447bd068249fa8d1e9fdbd996de5ba28ff4d19a3073f5327d57f1401fd56f"}, - {file = "dash_bootstrap_templates-1.2.0.tar.gz", hash = "sha256:666dff73f091e4544337004667ed4c486767a6344695d7cfb2974c660f03aa0e"}, + {file = "dash-bootstrap-templates-1.1.2.tar.gz", hash = "sha256:ad09b6d22500b7de3fd6cfe4886389de653ef16320969915f728b4bac5a7ba30"}, + {file = "dash_bootstrap_templates-1.1.2-py3-none-any.whl", hash = "sha256:87bb1e9dd7ac475f07d1237159091b9d154aa80fdae5fe579fb868e87343dfcd"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 94d3a6c..0091152 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [ dependencies = [ "dash[diskcache]==2.16.1", "dash-bootstrap-components", - "dash-bootstrap-templates", + "dash-bootstrap-templates==1.1.2", "dash-tvlwc>=0.1.1", "dash-trich-components", "requests", diff --git a/src/innov8/components/themes.py b/src/innov8/components/themes.py index 05781ca..bd666a9 100644 --- a/src/innov8/components/themes.py +++ b/src/innov8/components/themes.py @@ -50,11 +50,6 @@ "value": dbc.themes.JOURNAL, "label_id": "theme-switch-label", }, - { - "label": "Lumen", - "value": dbc.themes.LUMEN, - "label_id": "theme-switch-label", - }, { "label": "Minty", "value": dbc.themes.MINTY, From eb2b081d518a7f5635f3ad976517559a9857e10e Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:40:44 -0500 Subject: [PATCH 07/44] make imports cleaner --- src/innov8/components/__init__.py | 10 ++++++++++ src/innov8/layout.py | 25 ++++++++++++++++--------- 2 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 src/innov8/components/__init__.py diff --git a/src/innov8/components/__init__.py b/src/innov8/components/__init__.py new file mode 100644 index 0000000..e74424e --- /dev/null +++ b/src/innov8/components/__init__.py @@ -0,0 +1,10 @@ +from innov8.components.charts_52w import carousel_52_week +from innov8.components.dropdowns import dropdown_1, dropdown_2 +from innov8.components.forcast import forecast_button +from innov8.components.initial_load import initial_load +from innov8.components.intra_sector import intra_sector_data, table_info +from innov8.components.main_carousel import carousel +from innov8.components.price_card import price_card +from innov8.components.price_chart import ema_switch, price_chart, sma_switch +from innov8.components.themes import theme_changer +from innov8.components.update import update_button, update_state diff --git a/src/innov8/layout.py b/src/innov8/layout.py index a629b42..9f2799b 100644 --- a/src/innov8/layout.py +++ b/src/innov8/layout.py @@ -2,15 +2,22 @@ from dash import dcc from innov8.app import app -from innov8.components.charts_52w import carousel_52_week -from innov8.components.dropdowns import dropdown_1, dropdown_2 -from innov8.components.forcast import forecast_button -from innov8.components.intra_sector import intra_sector_data, table_info -from innov8.components.main_carousel import carousel -from innov8.components.price_card import price_card -from innov8.components.price_chart import ema_switch, price_chart, sma_switch -from innov8.components.themes import theme_changer -from innov8.components.update import update_button, update_state +from innov8.components import ( + carousel, + carousel_52_week, + dropdown_1, + dropdown_2, + ema_switch, + forecast_button, + intra_sector_data, + price_card, + price_chart, + sma_switch, + table_info, + theme_changer, + update_button, + update_state, +) from innov8.db_ops import data From 4a213c13bb21865079848bb635895edca9f83990 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:45:49 -0500 Subject: [PATCH 08/44] place charts in just divs instead of bootstrap rows and cols --- src/innov8/layout.py | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/src/innov8/layout.py b/src/innov8/layout.py index 9f2799b..020e9d5 100644 --- a/src/innov8/layout.py +++ b/src/innov8/layout.py @@ -1,5 +1,5 @@ import dash_bootstrap_components as dbc -from dash import dcc +from dash import dcc, html from innov8.app import app from innov8.components import ( @@ -54,13 +54,9 @@ def layout() -> dbc.Container: justify="between", ), # This row contains the main price (candlestick) chart - dbc.Row( - [ - dbc.Col( - [price_chart()], - width=12, - ), - ], + html.Div( + price_chart(), + id="price-chart-container", ), # This row stores the theme changer component and indicators dbc.Row( @@ -98,17 +94,9 @@ def layout() -> dbc.Container: [ dbc.Row([dbc.Col([price_card()], width=12)]), dbc.Row([dbc.Col([table_info()], width=12)]), - dbc.Row( - [ - dbc.Col( - [ - dcc.Loading( - carousel_52_week(), type="circle" - ) - ], - width=12, - ) - ], + html.Div( + carousel_52_week(), + id="52-week-chart-container", ), ], width=3, # -''- From f2655ed66e74fe0985463f590375e4708e3e7aa1 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:48:35 -0500 Subject: [PATCH 09/44] add spinner on initial load --- src/innov8/assets/main.css | 39 +++++++++++++++++++++++++++ src/innov8/components/initial_load.py | 21 +++++++++++++++ src/innov8/layout.py | 2 ++ 3 files changed, 62 insertions(+) create mode 100644 src/innov8/assets/main.css create mode 100644 src/innov8/components/initial_load.py diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css new file mode 100644 index 0000000..06489a0 --- /dev/null +++ b/src/innov8/assets/main.css @@ -0,0 +1,39 @@ +/* Loading indicator */ +._dash-loading { + position: fixed; + top: 50%; + left: 50%; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + backdrop-filter: blur(3px); + z-index: 1000; + visibility: hidden; + background-color: rgba(0, 0, 0, 0.3); + transform: translate(-50%, -50%); +} + +._dash-loading::after { + content: ""; + width: 40px; + height: 40px; + border: 4px solid #ccc; + border-top-color: #3498db; + border-radius: 50%; + animation: spin 1s linear infinite; + /* z-index: 1001; */ + position: absolute; + top: 50%; + left: 50%; + visibility: visible; +} + +/* Spinner animation */ +@keyframes spin { + to { + transform: rotate(360deg); + } +} + diff --git a/src/innov8/components/initial_load.py b/src/innov8/components/initial_load.py new file mode 100644 index 0000000..de0aa6e --- /dev/null +++ b/src/innov8/components/initial_load.py @@ -0,0 +1,21 @@ +from typing import Any + +from dash import html +from dash.dependencies import Input, Output + +from innov8.decorators.data_access import callback + + +def initial_load() -> html.Div: + """Initial loading spinner indicator""" + return html.Div(id="initial-load", className="_dash-loading visible") + + +@callback( + Output("initial-load", "className"), + Input("52-week-price-chart", "figure"), + Input("52-week-high-low-indicator", "figure"), +) +def disable_spinner(*args: Any, **kwargs: Any) -> Any: + """Disable spinner when the last loaded charts are ready and enable main chart visibility""" + return "" diff --git a/src/innov8/layout.py b/src/innov8/layout.py index 020e9d5..d7ce15b 100644 --- a/src/innov8/layout.py +++ b/src/innov8/layout.py @@ -9,6 +9,7 @@ dropdown_2, ema_switch, forecast_button, + initial_load, intra_sector_data, price_card, price_chart, @@ -27,6 +28,7 @@ def layout() -> dbc.Container: data.load_main_table(force_update=False) return dbc.Container( [ + initial_load(), # A carousel for 10 tickers with the largest absolute change occupying the topmost row dbc.Row([dbc.Col([carousel()], width=12)]), dbc.Row( From 68374a9fb522981b32e2af59bedb795d4c033e8c Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 15 Oct 2024 17:02:07 -0500 Subject: [PATCH 10/44] hide charts on initial load before rendered --- src/innov8/assets/miscellaneous.css | 7 +++++++ src/innov8/components/charts_52w.py | 3 ++- src/innov8/components/price_chart.py | 2 ++ src/innov8/layout.py | 9 ++++++++- 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 src/innov8/assets/miscellaneous.css diff --git a/src/innov8/assets/miscellaneous.css b/src/innov8/assets/miscellaneous.css new file mode 100644 index 0000000..9f7eaa1 --- /dev/null +++ b/src/innov8/assets/miscellaneous.css @@ -0,0 +1,7 @@ +.invisible { + visibility: hidden; +} + +.visible { + visibility: visible; +} \ No newline at end of file diff --git a/src/innov8/components/charts_52w.py b/src/innov8/components/charts_52w.py index fda9d58..d5b54d9 100644 --- a/src/innov8/components/charts_52w.py +++ b/src/innov8/components/charts_52w.py @@ -28,6 +28,7 @@ def carousel_52_week(): @callback( Output("52-week-price-chart", "figure"), Output("52-week-high-low-indicator", "figure"), + Output("52-week-chart-container", "hidden"), Input("symbol-dropdown", "value"), Input(ThemeChangerAIO.ids.radio("theme"), "value"), Input("update-state", "data"), @@ -145,4 +146,4 @@ def update_52_week_charts(data, symbol, theme, update): showlegend=False, ) - return fig, fig2 + return (fig, fig2, False) diff --git a/src/innov8/components/price_chart.py b/src/innov8/components/price_chart.py index dd28692..4f062af 100644 --- a/src/innov8/components/price_chart.py +++ b/src/innov8/components/price_chart.py @@ -109,6 +109,7 @@ def sma_switch() -> dbc.InputGroup: Output("tv-price-chart", "seriesData"), Output("tv-price-chart", "seriesOptions"), Output("tv-price-chart", "chartOptions"), + Output("price-chart-container", "className"), Input("symbol-dropdown", "value"), Input("ema", "value"), Input("sma", "value"), @@ -222,6 +223,7 @@ def plot_line(indicator) -> None: }, "timeScale": {"borderColor": grid_color}, }, + "visible", ) diff --git a/src/innov8/layout.py b/src/innov8/layout.py index d7ce15b..9486a62 100644 --- a/src/innov8/layout.py +++ b/src/innov8/layout.py @@ -59,6 +59,7 @@ def layout() -> dbc.Container: html.Div( price_chart(), id="price-chart-container", + className="invisible", # hidden on initial load ), # This row stores the theme changer component and indicators dbc.Row( @@ -99,6 +100,7 @@ def layout() -> dbc.Container: html.Div( carousel_52_week(), id="52-week-chart-container", + hidden=True, # hidden on initial load ), ], width=3, # -''- @@ -111,7 +113,12 @@ def layout() -> dbc.Container: ], fluid=True, class_name="dbc", - style={"height": "100%", "width": "100%", "margin": 0, "overflow": "hidden"}, + style={ + "height": "100%", + "width": "100%", + "margin": 0, + "overflow": "hidden", + }, ) From 1fe393acf73688c9a082cf16da3ba1bfa103d77e Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Wed, 16 Oct 2024 18:47:30 -0500 Subject: [PATCH 11/44] styles to classes, interface improvements --- src/innov8/assets/main.css | 72 ++++++++++++++++++++++++++ src/innov8/assets/miscellaneous.css | 7 --- src/innov8/components/dropdowns.py | 4 +- src/innov8/components/forcast.py | 19 ++----- src/innov8/components/main_carousel.py | 11 +--- src/innov8/components/price_card.py | 59 ++++----------------- src/innov8/components/price_chart.py | 46 +++++++--------- src/innov8/components/themes.py | 2 +- src/innov8/components/update.py | 16 ++---- src/innov8/layout.py | 21 -------- 10 files changed, 112 insertions(+), 145 deletions(-) delete mode 100644 src/innov8/assets/miscellaneous.css diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css index 06489a0..57f1862 100644 --- a/src/innov8/assets/main.css +++ b/src/innov8/assets/main.css @@ -37,3 +37,75 @@ } } +.container-fluid { + height: 100%; + width: 100%; + margin: 0; + overflow: hidden; +} + +.flex-center { + display: flex !important; + justify-content: center !important; + align-items: center !important; +} + +.row-option { + height: 37px !important; + width: 100%; + min-width: fit-content; +} + +.width-reset { + width: initial !important; + min-width: initial !important; +} + +#update-dropdown { + min-width: 8em; +} + +#ticker-symbol { + text-align: left; + margin-top: 0; + margin-bottom: -7px; + font-size: 3em; +} + +#ticker-name { + font-size: 1em; + text-align: left; + margin-bottom: -7px; +} + +#ticker-price { + font-size: 2.3em; + text-align: right; + margin-bottom: -7px; +} + +#ticker-change { + font-size: 1.2em; + text-align: right; + margin-bottom: -3px; +} + +#exchange-name { + text-align: left; + font-size: 1.3em; + margin-bottom: -3px; +} + +#economic-sector { + text-align: left; + font-size: 1.3em; + margin-bottom: 0.5em; +} + +.invisible { + visibility: hidden; +} + +.visible { + visibility: visible; +} \ No newline at end of file diff --git a/src/innov8/assets/miscellaneous.css b/src/innov8/assets/miscellaneous.css deleted file mode 100644 index 9f7eaa1..0000000 --- a/src/innov8/assets/miscellaneous.css +++ /dev/null @@ -1,7 +0,0 @@ -.invisible { - visibility: hidden; -} - -.visible { - visibility: visible; -} \ No newline at end of file diff --git a/src/innov8/components/dropdowns.py b/src/innov8/components/dropdowns.py index 3b10b1d..90ff69a 100644 --- a/src/innov8/components/dropdowns.py +++ b/src/innov8/components/dropdowns.py @@ -26,10 +26,10 @@ def dropdown_1(data): options=[sector[0] for sector in data.cur.execute(sector_query)], value="Technology", id="sector-dropdown", - style={"height": "37px"}, # placeholder="Select Economic Sector", clearable=False, persistence=True, # user interaction local persistence + className="row-option", ) @@ -39,10 +39,10 @@ def dropdown_2(): # options will be filled by callback # Default ticker - first ticker of sector, chosen by callback id="symbol-dropdown", - style={"height": "37px"}, # placeholder="Select Ticker Symbol", clearable=False, persistence=True, # user interaction local persistence + className="row-option", ) diff --git a/src/innov8/components/forcast.py b/src/innov8/components/forcast.py index 4f6551f..4fbc52e 100644 --- a/src/innov8/components/forcast.py +++ b/src/innov8/components/forcast.py @@ -6,15 +6,6 @@ from innov8.decorators.data_access import callback, data_access -default_style = { - "height": "37px", - "width": "100%", - "min-width": "fit-content", - "display": "flex", - "justifyContent": "center", - "alignItems": "center", -} - def forecast_button() -> dbc.Button: return dbc.Button( @@ -22,7 +13,7 @@ def forecast_button() -> dbc.Button: children="Forecast", outline=True, color="success", - style=default_style, + className="row-option flex-center", ) @@ -42,14 +33,12 @@ def forecast_button() -> dbc.Button: ) @data_access def update_price_chart_w_forecast(data, button, series_data, symbol) -> Any: - style = default_style.copy() - output = { "series_data": no_update, "forecast_button_disabled": False, "forecast_button_clicks": no_update, "forecast_button_color": "success", - "forecast_button_style": style, + "forecast_button_style": {}, } # Reset the button @@ -67,7 +56,9 @@ def update_price_chart_w_forecast(data, button, series_data, symbol) -> Any: output |= {"forecast_button_color": color} match button: case 2 | 4: - style |= {"filter": "hue-rotate(-7deg) contrast(1.05) brightness(0.75)"} + output["forecast_button_style"] |= { + "filter": "hue-rotate(-7deg) contrast(1.05) brightness(0.75)" + } date = series_data[0][-1]["time"] diff --git a/src/innov8/components/main_carousel.py b/src/innov8/components/main_carousel.py index 6f586b0..3cd2f88 100644 --- a/src/innov8/components/main_carousel.py +++ b/src/innov8/components/main_carousel.py @@ -82,23 +82,16 @@ def update_main_carousel(data, update): html.Div( [ # Ticker symbol - html.Span( - symbol, - style={ - "marginRight": "1em", - "fontSize": "1.1em", - }, - ), + html.Span(symbol), # Change (colored) html.Span( f"{'+' if change > 0 else ''}{change:.2f}%", style={ + "margin-left": "10px", "color": "green" if change > 0 else "red", - "fontSize": "1.1em", }, ), ], - style={"height": "2em", "display": "flex", "alignItems": "center"}, ) for symbol, change in data.cur.execute(change_query) ] diff --git a/src/innov8/components/price_card.py b/src/innov8/components/price_card.py index d1590e3..fd60033 100644 --- a/src/innov8/components/price_card.py +++ b/src/innov8/components/price_card.py @@ -10,55 +10,17 @@ def price_card(): return html.Div( [ # Symbol - html.P( - id="ticker-symbol", - style={ - "textAlign": "left", - "marginTop": 0, - "marginBottom": -7, - "fontSize": "3em", - }, - ), + html.P(id="ticker-symbol"), # Name - html.P( - id="ticker-name", - style={ - "fontSize": "1em", - "textAlign": "left", - "marginBottom": -7, - }, - ), + html.P(id="ticker-name"), # Price and currency - html.P( - id="ticker-price", - style={ - "fontSize": "2.3em", - "textAlign": "right", - "marginBottom": -7, - }, - ), - # Price change (style is specified in callback) - html.P( - id="ticker-change", - ), + html.P(id="ticker-price"), + # Price change + html.P(id="ticker-change"), # Exchange - html.P( - id="exchange-name", - style={ - "textAlign": "left", - "fontSize": "1.3em", - "marginBottom": -3, - }, - ), + html.P(id="exchange-name"), # Economic sector - html.P( - id="economic-sector", - style={ - "textAlign": "left", - "fontSize": "1.3em", - "marginBottom": "0.5em", - }, - ), + html.P(id="economic-sector"), ], id="ticker-data", ) @@ -77,12 +39,12 @@ def price_card(): Input("update-state", "data"), ) @data_access -def update_symbol_data(data, symbol, update): +def update_symbol_data(data, symbol, _): ticker = data.main_table.loc[ data.main_table.symbol == symbol, ["name", "close", "exchange", "sector", "currency"], ].tail(2) - # Getting the chosen symbol's current price and its change in comparison to its previous value + # Getting the chosen symbols current price and its change in comparison to its previous value current_price = ticker.iat[-1, 1] change = (current_price / ticker.iat[-2, 1]) - 1 return ( @@ -91,9 +53,6 @@ def update_symbol_data(data, symbol, update): f"{current_price:.2f} ({ticker.iat[0, 4]})", # (currency) f"{'+' if change > 0 else ''}{change:.2%}", { - "fontSize": "1.2em", - "textAlign": "right", - "marginBottom": -3, "color": "green" if change > 0 else "red", }, # set style color depending on price change f"Exchange: {ticker.iat[0, 2]}", diff --git a/src/innov8/components/price_chart.py b/src/innov8/components/price_chart.py index 4f062af..76e6cd5 100644 --- a/src/innov8/components/price_chart.py +++ b/src/innov8/components/price_chart.py @@ -39,16 +39,14 @@ def ema_switch() -> dbc.InputGroup: [ dbc.InputGroupText( dbc.Checklist( - ["EMA"], id="ema", value=["EMA"], switch=True, persistence=True + ["EMA"], + id="ema", + value=["EMA"], + switch=True, + persistence=True, + input_class_name="position-absolute", ), - style={ - "height": "37px", - "display": "flex", - "justifyContent": "center", - "alignItems": "center", - # "borderRadius": "0", - }, - class_name="btn btn-outline-secondary", + class_name="row-option width-reset flex-center btn btn-outline-secondary", ), dbc.Input( id="ema-period", @@ -59,10 +57,7 @@ def ema_switch() -> dbc.InputGroup: step=1, value=9, persistence=True, - style={ - "paddingLeft": 10, - # "borderRadius": "0" - }, + class_name="row-option", ), ], ) @@ -74,16 +69,14 @@ def sma_switch() -> dbc.InputGroup: [ dbc.InputGroupText( dbc.Checklist( - ["SMA"], id="sma", value=["SMA"], switch=True, persistence=True + ["SMA"], + id="sma", + value=["SMA"], + switch=True, + persistence=True, + input_class_name="position-absolute", ), - style={ - "height": "37px", - "display": "flex", - "justifyContent": "center", - "alignItems": "center", - # "borderRadius": "0", - }, - class_name="btn btn-outline-secondary", + class_name="row-option width-reset flex-center btn btn-outline-secondary", ), dbc.Input( id="sma-period", @@ -94,10 +87,7 @@ def sma_switch() -> dbc.InputGroup: step=1, value=50, persistence=True, - style={ - "paddingLeft": 10, - # "borderRadius": "0" - }, + class_name="row-option", ), ], ) @@ -163,9 +153,9 @@ def update_price_chart(data, symbol, ema, sma, ema_period, sma_period, theme, up theme_name = template_from_url(theme) template = plotly.io.templates[theme_name] - text_color = template["layout"]["font"]["color"] + text_color = template["layout"]["font"]["color"] # type: ignore # bg_color = template["layout"]["plot_bgcolor"] - grid_color = template["layout"]["scene"]["xaxis"]["gridcolor"] + grid_color = template["layout"]["scene"]["xaxis"]["gridcolor"] # type: ignore def plot_line(indicator) -> None: # Plot indicator line diff --git a/src/innov8/components/themes.py b/src/innov8/components/themes.py index bd666a9..0d73c33 100644 --- a/src/innov8/components/themes.py +++ b/src/innov8/components/themes.py @@ -79,5 +79,5 @@ "value": dbc.themes.CYBORG, "persistence": True, }, - button_props={"style": {"height": "37px"}}, + button_props={"class_name": "row-option flex-center"}, ) diff --git a/src/innov8/components/update.py b/src/innov8/components/update.py index 67464ef..268d955 100644 --- a/src/innov8/components/update.py +++ b/src/innov8/components/update.py @@ -17,14 +17,7 @@ def update_button() -> dbc.ButtonGroup: dbc.Button( id="update-button", outline=True, - style={ - "height": "37px", - "width": "fit-content", - "minWidth": "fit-content", - "display": "flex", - "justifyContent": "center", - "alignItems": "center", - }, + className="row-option flex-center", ), dcc.Dropdown( options=[ @@ -35,17 +28,14 @@ def update_button() -> dbc.ButtonGroup: value="Ticker", id="update-dropdown", style={ - "width": "auto", - "minWidth": "8em", - "height": "37px", "borderTopLeftRadius": 0, # squarify :] "borderBottomLeftRadius": 0, }, clearable=False, + className="row-option", ), ], - # style={"padding-left": "4em", "margin-left": "auto", "margin-right": 0}, - style={"width": "100%"}, + className="w-100", ) diff --git a/src/innov8/layout.py b/src/innov8/layout.py index 9486a62..d23740e 100644 --- a/src/innov8/layout.py +++ b/src/innov8/layout.py @@ -65,21 +65,6 @@ def layout() -> dbc.Container: dbc.Row( [ dbc.Col(theme_changer, width=2), - # dbc.Col( - # dbc.DropdownMenu( - # children=[ - # ema_switch(), - # sma_switch(), - # ], - # label="Technical Indicators", - # id="indicators", - # direction="up", - # align_end=True, - # color="transparent", - # style={"height": "37px", "all": "unset"}, - # ), - # width="auto", - # ), dbc.Col( ema_switch(), width={"size": 3, "offset": 3} ), @@ -113,12 +98,6 @@ def layout() -> dbc.Container: ], fluid=True, class_name="dbc", - style={ - "height": "100%", - "width": "100%", - "margin": 0, - "overflow": "hidden", - }, ) From d9c2ca7e9a9d7d104d9c9dd9308751f1dc267a27 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Thu, 17 Oct 2024 13:18:18 -0500 Subject: [PATCH 12/44] replace dash-trich-components carousel with swiper --- pdm.lock | 11 +--- pyproject.toml | 1 - src/innov8/app.py | 12 +++- src/innov8/components/charts_52w.py | 64 +++++++++++++----- src/innov8/components/main_carousel.py | 91 +++++++++++++++----------- src/innov8/decorators/data_access.py | 1 + 6 files changed, 113 insertions(+), 67 deletions(-) diff --git a/pdm.lock b/pdm.lock index e68a625..0e5e641 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.2" -content_hash = "sha256:1ca99bab482fe38b3db562e7dc1335fff1897af0fe3fafa7ba0def98e35abe4c" +content_hash = "sha256:f9f4df568f0713f0a410c9cb1dc8cb4b42081cf56e91056fdbc2ea37c5ed5f4b" [[package]] name = "beautifulsoup4" @@ -298,15 +298,6 @@ files = [ {file = "dash_table-5.0.0.tar.gz", hash = "sha256:18624d693d4c8ef2ddec99a6f167593437a7ea0bf153aa20f318c170c5bc7308"}, ] -[[package]] -name = "dash-trich-components" -version = "1.0.0" -summary = "Trich.ai components library for Dash Plotly" -groups = ["default"] -files = [ - {file = "dash_trich_components-1.0.0.tar.gz", hash = "sha256:453b2b7d201190fa250925a05978e2eeec8a9d03b8c12b95867e6e6a4ea11b24"}, -] - [[package]] name = "dash-tvlwc" version = "0.1.1" diff --git a/pyproject.toml b/pyproject.toml index 0091152..87e666b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,6 @@ dependencies = [ "dash-bootstrap-components", "dash-bootstrap-templates==1.1.2", "dash-tvlwc>=0.1.1", - "dash-trich-components", "requests", "beautifulsoup4", "lxml", diff --git a/src/innov8/app.py b/src/innov8/app.py index 4dd9eed..b92e8ae 100644 --- a/src/innov8/app.py +++ b/src/innov8/app.py @@ -14,7 +14,17 @@ app = Dash( __name__, - external_stylesheets=[default_theme, dbc_css], + external_scripts=[ + {"src": "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"}, + ], + external_stylesheets=[ + default_theme, + dbc_css, + { + "rel": "stylesheet", + "href": "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css", + }, + ], title="innov8finance", background_callback_manager=background_callback_manager, suppress_callback_exceptions=True, diff --git a/src/innov8/components/charts_52w.py b/src/innov8/components/charts_52w.py index d5b54d9..0af959f 100644 --- a/src/innov8/components/charts_52w.py +++ b/src/innov8/components/charts_52w.py @@ -1,26 +1,31 @@ -import dash_trich_components as dtc import plotly.graph_objects as go -from dash import dcc -from dash.dependencies import Input, Output +from dash import dcc, html +from dash.dependencies import Input, Output, State from dash_bootstrap_templates import ThemeChangerAIO, template_from_url -from innov8.decorators.data_access import callback, data_access +from innov8.decorators.data_access import callback, clientside_callback, data_access # Carousel showing 52-week data -def carousel_52_week(): - return dtc.Carousel( - [ - dcc.Graph(id="52-week-price-chart"), - dcc.Graph(id="52-week-high-low-indicator"), - ], - slides_to_show=1, - autoplay=True, - speed=4000, - style={"height": 300, "width": 370, "paddingBottom": "6px"}, - responsive=[ - {"breakpoint": 9999, "settings": {"arrows": False}}, - ], +def carousel_52_week() -> html.Div: + return html.Div( + html.Div( + className="swiper-wrapper", + children=[ + dcc.Graph( + id="52-week-price-chart", + responsive=True, + className="swiper-slide", + ), + dcc.Graph( + id="52-week-high-low-indicator", + responsive=True, + className="swiper-slide", + ), + ], + ), + id="weekly-charts-carousel", + className="swiper weeklySwiper", ) @@ -34,7 +39,7 @@ def carousel_52_week(): Input("update-state", "data"), ) @data_access -def update_52_week_charts(data, symbol, theme, update): +def update_52_week_charts(data, symbol, theme, _): # Filter data by ticker symbol ticker = data.main_table[data.main_table.symbol == symbol].set_index("date") @@ -147,3 +152,26 @@ def update_52_week_charts(data, symbol, theme, update): ) return (fig, fig2, False) + + +clientside_callback( + """ + function initializeWeeklySwiper(id) { + var swiper = new Swiper(".weeklySwiper", { + slidesPerView: 1, + autoplay: { + delay: 3000, + disableOnInteraction: false, + pauseOnMouseEnter: true, + }, + observer: true, + cssMode: false, + }); + + return window.dash_clientside.no_update; + } + """, + Output("weekly-charts-carousel", "id"), + Input("initial-load", "className"), + State("52-week-chart-container", "hidden"), +) diff --git a/src/innov8/components/main_carousel.py b/src/innov8/components/main_carousel.py index 3cd2f88..95bea66 100644 --- a/src/innov8/components/main_carousel.py +++ b/src/innov8/components/main_carousel.py @@ -1,8 +1,7 @@ -import dash_trich_components as dtc from dash import html -from dash.dependencies import Input, Output +from dash.dependencies import Input, Output, State -from innov8.decorators.data_access import callback, data_access +from innov8.decorators.data_access import callback, clientside_callback, data_access change_query = """ WITH growth AS ( @@ -35,39 +34,13 @@ """ -# Accepts a list of elements (list comp of html divs in this case) to "carouse" through -@data_access -def carousel(data): - return dtc.Carousel( - [ - html.Div( - [ - # Ticker symbol - html.Span( - symbol, - style={ - "marginRight": "1em", - "fontSize": "1.1em", - }, - ), - # Change (colored) - html.Span( - f"{'+' if change > 0 else ''}{change:.2f}%", - style={ - "color": "green" if change > 0 else "red", - "fontSize": "1.1em", - }, - ), - ], - style={"height": "2em", "display": "flex", "alignItems": "center"}, - ) - for symbol, change in data.cur.execute(change_query) - ], - id="main-carousel", - autoplay=True, - speed=500, - slides_to_show=5, - responsive=[{"breakpoint": 9999, "settings": {"arrows": False}}], +def carousel() -> html.Div: + return html.Div( + html.Div( + className="swiper-wrapper", + id="main-carousel", + ), + className="swiper mainSwiper", ) @@ -77,7 +50,7 @@ def carousel(data): Input("update-state", "data"), ) @data_access -def update_main_carousel(data, update): +def update_main_carousel(data, _) -> list[html.Div]: return [ html.Div( [ @@ -92,6 +65,50 @@ def update_main_carousel(data, update): }, ), ], + className="swiper-slide", ) for symbol, change in data.cur.execute(change_query) ] + + +clientside_callback( + """ + function initializeMainSwiper(id) { + function initSwiper() { + var swiper = new Swiper(".mainSwiper", { + slidesPerView: 2, + breakpoints: { + // when window width is >= 768px + 768: { + slidesPerView: 5, + spaceBetween: 40 + } + }, + loop: true, + autoplay: { + delay: 2000, + disableOnInteraction: false, + }, + observer: true, + cssMode: true, + }); + } + + // Polling mechanism to check if #main-carousel has children + const checkChildren = setInterval(() => { + const carouselElement = document.getElementById("main-carousel"); + + // Check if the carousel element exists and has children + if (carouselElement && carouselElement.children.length > 0) { + clearInterval(checkChildren); // Stop polling once children are found + initSwiper(); // Initialize Swiper + } + }, 100); // Check every 100 milliseconds + + return window.dash_clientside.no_update; + } + """, + Output("main-carousel", "id"), + Input("initial-load", "className"), + State("main-carousel", "children"), +) diff --git a/src/innov8/decorators/data_access.py b/src/innov8/decorators/data_access.py index 5251423..670eff9 100644 --- a/src/innov8/decorators/data_access.py +++ b/src/innov8/decorators/data_access.py @@ -22,3 +22,4 @@ def inner(*args: P.args, **kwargs: P.kwargs) -> R: # For convenience callback = app.callback +clientside_callback = app.clientside_callback From e4932480b85016cd38a0474df990c323500cec18 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Thu, 17 Oct 2024 13:19:24 -0500 Subject: [PATCH 13/44] improve initial_load callback --- src/innov8/components/initial_load.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/innov8/components/initial_load.py b/src/innov8/components/initial_load.py index de0aa6e..9ddab79 100644 --- a/src/innov8/components/initial_load.py +++ b/src/innov8/components/initial_load.py @@ -1,7 +1,7 @@ from typing import Any from dash import html -from dash.dependencies import Input, Output +from dash.dependencies import Input, Output, State from innov8.decorators.data_access import callback @@ -13,8 +13,10 @@ def initial_load() -> html.Div: @callback( Output("initial-load", "className"), - Input("52-week-price-chart", "figure"), - Input("52-week-high-low-indicator", "figure"), + State("52-week-price-chart", "figure"), + State("52-week-high-low-indicator", "figure"), + State("main-carousel", "children"), + Input("initial-load", "className"), ) def disable_spinner(*args: Any, **kwargs: Any) -> Any: """Disable spinner when the last loaded charts are ready and enable main chart visibility""" From 7e26d027cb7a62f69a5020c91c8c2c9784c7dfa8 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Fri, 18 Oct 2024 22:45:04 -0500 Subject: [PATCH 14/44] add meta tags --- src/innov8/app.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/innov8/app.py b/src/innov8/app.py index b92e8ae..06095f4 100644 --- a/src/innov8/app.py +++ b/src/innov8/app.py @@ -25,6 +25,7 @@ "href": "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css", }, ], + meta_tags=[{"name": "viewport", "content": "width=device-width, initial-scale=1"}], title="innov8finance", background_callback_manager=background_callback_manager, suppress_callback_exceptions=True, From f1a431d88b36d12771dad97521f4739a75338cfa Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Fri, 18 Oct 2024 22:45:36 -0500 Subject: [PATCH 15/44] restructure theme component --- src/innov8/components/themes.py | 165 +++++++++++++++++--------------- 1 file changed, 86 insertions(+), 79 deletions(-) diff --git a/src/innov8/components/themes.py b/src/innov8/components/themes.py index 0d73c33..8d90478 100644 --- a/src/innov8/components/themes.py +++ b/src/innov8/components/themes.py @@ -1,83 +1,90 @@ import dash_bootstrap_components as dbc +from dash import html from dash_bootstrap_templates import ThemeChangerAIO -theme_changer = ThemeChangerAIO( - aio_id="theme", - radio_props={ - "options": [ - { - "label": "Cyborg", - "value": dbc.themes.CYBORG, - "label_id": "theme-switch-label-dark", - }, - { - "label": "Darkly", - "value": dbc.themes.DARKLY, - "label_id": "theme-switch-label-dark", - }, - { - "label": "Slate", - "value": dbc.themes.SLATE, - "label_id": "theme-switch-label-dark", - }, - { - "label": "Solar", - "value": dbc.themes.SOLAR, - "label_id": "theme-switch-label-dark", - }, - { - "label": "Superhero", - "value": dbc.themes.SUPERHERO, - "label_id": "theme-switch-label-dark", - }, - { - "label": "Vapor", - "value": dbc.themes.VAPOR, - "label_id": "theme-switch-label-dark", - }, - { - "label": "Bootstrap", - "value": dbc.themes.BOOTSTRAP, - "label_id": "theme-switch-label", - }, - { - "label": "Flatly", - "value": dbc.themes.FLATLY, - "label_id": "theme-switch-label", - }, - { - "label": "Journal", - "value": dbc.themes.JOURNAL, - "label_id": "theme-switch-label", - }, - { - "label": "Minty", - "value": dbc.themes.MINTY, - "label_id": "theme-switch-label", - }, - { - "label": "Simplex", - "value": dbc.themes.SIMPLEX, - "label_id": "theme-switch-label", - }, - { - "label": "Spacelab", - "value": dbc.themes.SPACELAB, - "label_id": "theme-switch-label", - }, - { - "label": "United", - "value": dbc.themes.UNITED, - "label_id": "theme-switch-label", - }, - { - "label": "Yeti", - "value": dbc.themes.YETI, - "label_id": "theme-switch-label", - }, - ], - "value": dbc.themes.CYBORG, - "persistence": True, - }, - button_props={"class_name": "row-option flex-center"}, +theme_changer = html.Div( + ThemeChangerAIO( + aio_id="theme", + radio_props={ + "options": [ + { + "label": "Cyborg", + "value": dbc.themes.CYBORG, + "label_id": "theme-switch-label-dark", + }, + { + "label": "Darkly", + "value": dbc.themes.DARKLY, + "label_id": "theme-switch-label-dark", + }, + { + "label": "Slate", + "value": dbc.themes.SLATE, + "label_id": "theme-switch-label-dark", + }, + { + "label": "Solar", + "value": dbc.themes.SOLAR, + "label_id": "theme-switch-label-dark", + }, + { + "label": "Superhero", + "value": dbc.themes.SUPERHERO, + "label_id": "theme-switch-label-dark", + }, + { + "label": "Vapor", + "value": dbc.themes.VAPOR, + "label_id": "theme-switch-label-dark", + }, + { + "label": "Bootstrap", + "value": dbc.themes.BOOTSTRAP, + "label_id": "theme-switch-label", + }, + { + "label": "Flatly", + "value": dbc.themes.FLATLY, + "label_id": "theme-switch-label", + }, + { + "label": "Journal", + "value": dbc.themes.JOURNAL, + "label_id": "theme-switch-label", + }, + { + "label": "Minty", + "value": dbc.themes.MINTY, + "label_id": "theme-switch-label", + }, + { + "label": "Simplex", + "value": dbc.themes.SIMPLEX, + "label_id": "theme-switch-label", + }, + { + "label": "Spacelab", + "value": dbc.themes.SPACELAB, + "label_id": "theme-switch-label", + }, + { + "label": "United", + "value": dbc.themes.UNITED, + "label_id": "theme-switch-label", + }, + { + "label": "Yeti", + "value": dbc.themes.YETI, + "label_id": "theme-switch-label", + }, + ], + "value": dbc.themes.CYBORG, + "persistence": True, + }, + button_props={ + "children": "Theme", + "class_name": "row-option flex-center", + }, + ), + id="theme-container", ) From 69aa131d367a633d565e4ba687b7f4a9209e7e6b Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sat, 19 Oct 2024 15:45:36 -0500 Subject: [PATCH 16/44] add container id, adjust styles --- src/innov8/components/intra_sector.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/innov8/components/intra_sector.py b/src/innov8/components/intra_sector.py index e47fc20..8ce3704 100644 --- a/src/innov8/components/intra_sector.py +++ b/src/innov8/components/intra_sector.py @@ -52,12 +52,12 @@ def table_info(): return html.Div( [ html.P( - "Intra-sector Data Table", + "Intra-sector Table", style={ "textAlign": "center", "display": "block", "marginBottom": "0.5em", - "fontSize": "1.2em", + "fontSize": "1em", }, ), dash_table.DataTable( @@ -75,16 +75,11 @@ def table_info(): }, {"if": {"column_id": ["price", "90-day corr"]}, "width": "30%"}, ], - style_header={"backgroundColor": "rgba(0,0,0,0)"}, style_data={"backgroundColor": "rgba(0,0,0,0)"}, - style_table={ - # "height": "calc(100vh)", - "height": "calc(100vh - 2em - (10.6em * 1.5) - 1.7em - 300px)", - "overflowY": "auto", - }, style_as_list_view=True, ), - ] + ], + id="intra-sector-container", ) From 3cd3b3dcb93e9b3b0e4d66267e8bc8cd11ad7154 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sat, 19 Oct 2024 15:46:38 -0500 Subject: [PATCH 17/44] use loaded data and pandas instead of making additional sql query --- src/innov8/components/dropdowns.py | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/innov8/components/dropdowns.py b/src/innov8/components/dropdowns.py index 90ff69a..d2530b0 100644 --- a/src/innov8/components/dropdowns.py +++ b/src/innov8/components/dropdowns.py @@ -3,27 +3,12 @@ from innov8.decorators.data_access import callback, data_access -# list all sectors -sector_query = """ -SELECT name -FROM sector -ORDER BY name -""" -# list ticker symbols in sector -symbols_query = """ -SELECT symbol -FROM ticker t - JOIN sector s ON s.id = t.sector_id -WHERE s.name = ? -ORDER BY symbol -""" - # The economic sectors dropdown @data_access def dropdown_1(data): return dcc.Dropdown( - options=[sector[0] for sector in data.cur.execute(sector_query)], + options=sorted(data.main_table["sector"].unique().tolist()), value="Technology", id="sector-dropdown", # placeholder="Select Economic Sector", @@ -55,5 +40,9 @@ def dropdown_2(): @data_access def update_symbols_dropdown(data, sector): # Select ticker symbols from selected sector - options = [symbol[0] for symbol in data.cur.execute(symbols_query, (sector,))] + options = sorted( + data.main_table.loc[data.main_table["sector"] == sector, "symbol"] + .unique() + .tolist() + ) return options, options[0] From c3e52db784f5526ef8b22e0a37f408b1969b0829 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sat, 19 Oct 2024 15:47:41 -0500 Subject: [PATCH 18/44] add ids, andjust styles and classes --- src/innov8/components/charts_52w.py | 12 ++++++++++-- src/innov8/components/main_carousel.py | 2 +- src/innov8/components/price_chart.py | 4 +++- src/innov8/components/update.py | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/innov8/components/charts_52w.py b/src/innov8/components/charts_52w.py index 0af959f..893954c 100644 --- a/src/innov8/components/charts_52w.py +++ b/src/innov8/components/charts_52w.py @@ -23,9 +23,17 @@ def carousel_52_week() -> html.Div: className="swiper-slide", ), ], + style={ + "height": "100%", + "width": "200%", + }, ), id="weekly-charts-carousel", className="swiper weeklySwiper", + style={ + "height": "100%", + "width": "100%", + }, ) @@ -33,7 +41,7 @@ def carousel_52_week() -> html.Div: @callback( Output("52-week-price-chart", "figure"), Output("52-week-high-low-indicator", "figure"), - Output("52-week-chart-container", "hidden"), + Output("weekly-charts-container", "hidden"), Input("symbol-dropdown", "value"), Input(ThemeChangerAIO.ids.radio("theme"), "value"), Input("update-state", "data"), @@ -173,5 +181,5 @@ def update_52_week_charts(data, symbol, theme, _): """, Output("weekly-charts-carousel", "id"), Input("initial-load", "className"), - State("52-week-chart-container", "hidden"), + State("weekly-charts-container", "hidden"), ) diff --git a/src/innov8/components/main_carousel.py b/src/innov8/components/main_carousel.py index 95bea66..2dfc152 100644 --- a/src/innov8/components/main_carousel.py +++ b/src/innov8/components/main_carousel.py @@ -60,7 +60,7 @@ def update_main_carousel(data, _) -> list[html.Div]: html.Span( f"{'+' if change > 0 else ''}{change:.2f}%", style={ - "margin-left": "10px", + "marginLeft": "10px", "color": "green" if change > 0 else "red", }, ), diff --git a/src/innov8/components/price_chart.py b/src/innov8/components/price_chart.py index 76e6cd5..923b308 100644 --- a/src/innov8/components/price_chart.py +++ b/src/innov8/components/price_chart.py @@ -28,7 +28,7 @@ def hex_to_rgba(hex_color, alpha=1.0) -> str: def price_chart() -> dash_tvlwc.Tvlwc: return dash_tvlwc.Tvlwc( id="tv-price-chart", - height="calc(100vh - 2em - 83px)", + height="100%", width="100%", ) @@ -60,6 +60,7 @@ def ema_switch() -> dbc.InputGroup: class_name="row-option", ), ], + id="ema-input-group", ) @@ -90,6 +91,7 @@ def sma_switch() -> dbc.InputGroup: class_name="row-option", ), ], + id="sma-input-group", ) diff --git a/src/innov8/components/update.py b/src/innov8/components/update.py index 268d955..a02e860 100644 --- a/src/innov8/components/update.py +++ b/src/innov8/components/update.py @@ -17,7 +17,7 @@ def update_button() -> dbc.ButtonGroup: dbc.Button( id="update-button", outline=True, - className="row-option flex-center", + className="btn-sm row-option flex-center", ), dcc.Dropdown( options=[ From 61ca3a355cd663a7946e565bfef3f4c48c23b4a1 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sat, 19 Oct 2024 16:34:25 -0500 Subject: [PATCH 19/44] restructure layout with css grid instead of bootstrap, multiple improvements to responsiveness --- src/innov8/assets/main.css | 131 +++++++++++++++++++++++++++++++++---- src/innov8/layout.py | 95 +++++++++------------------ 2 files changed, 147 insertions(+), 79 deletions(-) diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css index 57f1862..56cf481 100644 --- a/src/innov8/assets/main.css +++ b/src/innov8/assets/main.css @@ -37,11 +37,17 @@ } } +:root { + --row-height: 37px; + --gap: 10px; +} + .container-fluid { height: 100%; width: 100%; margin: 0; - overflow: hidden; + /* overflow: hidden; */ + /* enabling this disables sticky */ } .flex-center { @@ -51,7 +57,7 @@ } .row-option { - height: 37px !important; + height: var(--row-height) !important; width: 100%; min-width: fit-content; } @@ -61,45 +67,42 @@ min-width: initial !important; } -#update-dropdown { - min-width: 8em; -} - #ticker-symbol { text-align: left; margin-top: 0; - margin-bottom: -7px; - font-size: 3em; + margin-bottom: 0px; + font-size: 2em; + line-height: 1em; } #ticker-name { - font-size: 1em; + font-size: 0.8em; text-align: left; margin-bottom: -7px; } #ticker-price { - font-size: 2.3em; + font-size: 1.7em; text-align: right; margin-bottom: -7px; } #ticker-change { - font-size: 1.2em; + font-size: 1em; text-align: right; margin-bottom: -3px; } #exchange-name { text-align: left; - font-size: 1.3em; + font-size: 0.8em; margin-bottom: -3px; } #economic-sector { text-align: left; - font-size: 1.3em; - margin-bottom: 0.5em; + font-size: 0.8em; + margin-bottom: 0px; } .invisible { @@ -108,4 +111,104 @@ .visible { visibility: visible; +} + +.grid-container { + display: grid; + grid-template-columns: repeat(12, minmax(0, 1fr)); + grid-template-rows: calc(var(--row-height) - var(--gap)) var(--row-height) auto 1fr 1fr var(--row-height); + gap: var(--gap); + height: 100vh; + padding-bottom: calc(var(--gap) / 2); + + /* Define named grid areas */ + grid-template-areas: + "swiper swiper swiper swiper swiper swiper swiper swiper swiper swiper swiper swiper" + "sector sector sector ticker ticker update update forecast forecast info info info" + "chart chart chart chart chart chart chart chart chart info info info" + "chart chart chart chart chart chart chart chart chart table table table" + "chart chart chart chart chart chart chart chart chart weekly weekly weekly" + "theme theme . . . ema ema sma sma weekly weekly weekly"; +} + +.mainSwiper { + grid-area: swiper; + position: sticky; + top: 0; + z-index: 999; + + width: 100%; + overflow: hidden; + margin-bottom: calc(var(--gap) * -1); +} + +#sector-dropdown { + grid-area: sector; +} + +#symbol-dropdown { + grid-area: ticker; +} + +#update-button-container { + grid-area: update; +} + +#update-button { + width: auto; +} + +#update-dropdown { + min-width: 13ch; +} + +#forecast-button { + grid-area: forecast; +} + +#price-chart-container { + grid-area: chart; +} + +#theme-container { + grid-area: theme; +} + +#ema-input-group { + grid-area: ema; +} + +#sma-input-group { + grid-area: sma; +} + +#ticker-data { + grid-area: info; +} + +#intra-sector-container { + grid-area: table; + height: 100%; +} + +#intra-sector-container { + grid-area: table; + display: flex; + flex-direction: column; + min-height: 0; +} + +#correlation-table { + flex: 1; + overflow-y: auto; +} + +#weekly-charts-container { + grid-area: weekly; +} + +.blur { + display: none; +} + } \ No newline at end of file diff --git a/src/innov8/layout.py b/src/innov8/layout.py index d23740e..f20db44 100644 --- a/src/innov8/layout.py +++ b/src/innov8/layout.py @@ -28,76 +28,41 @@ def layout() -> dbc.Container: data.load_main_table(force_update=False) return dbc.Container( [ - initial_load(), # A carousel for 10 tickers with the largest absolute change occupying the topmost row - dbc.Row([dbc.Col([carousel()], width=12)]), - dbc.Row( - [ - # This first column occupies all available width - 370px (for the second column) - dbc.Col( - [ - # This row holds the dropdowns responsible for sector and ticker selection and the update button - dbc.Row( - [ - dbc.Col([dropdown_1()], width=4), - dbc.Col([dropdown_2()], width=3), - dbc.Col( - [ - dcc.Loading( - [update_button(), update_state()], - type="dot", - ) - ], - width={"size": 3}, - ), - dbc.Col([forecast_button()], width=1), - ], - class_name="mb-1 g-0", - justify="between", - ), - # This row contains the main price (candlestick) chart - html.Div( - price_chart(), - id="price-chart-container", - className="invisible", # hidden on initial load - ), - # This row stores the theme changer component and indicators - dbc.Row( - [ - dbc.Col(theme_changer, width=2), - dbc.Col( - ema_switch(), width={"size": 3, "offset": 3} - ), - dbc.Col(sma_switch(), width=3), - ], - justify="between", - class_name="mb-1 g-0", - ), - ], - width=9, # investigate why this is needed later - style={"width": "calc(100% - 370px)"}, - ), - # This column occupies 370px of the dashboard's width - dbc.Col( - [ - dbc.Row([dbc.Col([price_card()], width=12)]), - dbc.Row([dbc.Col([table_info()], width=12)]), - html.Div( - carousel_52_week(), - id="52-week-chart-container", - hidden=True, # hidden on initial load - ), - ], - width=3, # -''- - style={"width": "370px"}, - ), - ], - # class_name="g-0", # remove gutters + carousel(), + dropdown_1(), + dropdown_2(), + html.Div( + dcc.Loading( + [update_button(), update_state()], + type="dot", + ), + id="update-button-container", + ), + forecast_button(), + html.Div( + price_chart(), + id="price-chart-container", + className="invisible", # hidden on initial load + ), + # This row stores the theme changer component and indicators + theme_changer, + ema_switch(), + sma_switch(), + price_card(), + table_info(), + html.Div( + carousel_52_week(), + id="weekly-charts-container", + hidden=True, # hidden on initial load ), intra_sector_data(), + initial_load(), + html.Div(className="blur top row-option"), + html.Div(className="blur bottom row-option"), ], fluid=True, - class_name="dbc", + className="dbc grid-container", ) From 5d6ea2bef2f24b6d6bbd8569ece6c77c8254c8c8 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 14:01:00 -0500 Subject: [PATCH 20/44] serve assets locally --- src/innov8/app.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/innov8/app.py b/src/innov8/app.py index 06095f4..917cdb2 100644 --- a/src/innov8/app.py +++ b/src/innov8/app.py @@ -29,5 +29,4 @@ title="innov8finance", background_callback_manager=background_callback_manager, suppress_callback_exceptions=True, - serve_locally=False, ) From f4d69e1239c327f527b0561b2f3f951bcfcb2c75 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 14:09:25 -0500 Subject: [PATCH 21/44] add mobile responsive css --- src/innov8/assets/main.css | 130 +++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css index 56cf481..531ce89 100644 --- a/src/innov8/assets/main.css +++ b/src/innov8/assets/main.css @@ -211,4 +211,134 @@ display: none; } +.Select-value { + display: flex; + align-items: center; +} + +@media (max-width: 1024px) { + html { + font-size: 90%; + } + + body { + /* keeps the background from scrolling */ + background-attachment: fixed; + } + + .grid-container { + padding-left: var(--gap) !important; + padding-right: var(--gap) !important; + padding-bottom: 0; + height: calc(200vh - (var(--row-height) * 2)); + grid-template-columns: 1fr 1fr 1fr 1fr; + grid-template-rows: var(--row-height) var(--row-height) auto minmax(0, 1fr) var(--row-height) repeat(2, calc((100vh - (var(--row-height) * 2) - (var(--gap) * 3)) / 2)) var(--row-height); + gap: 10px; + grid-template-areas: + "swiper swiper swiper swiper" + "sector sector ticker forecast" + "info info info info" + "chart chart chart chart" + "ema ema sma sma" + "table table table table" + "weekly weekly weekly weekly" + "theme update update update"; + } + + #forecast-button { + font-size: 0.875rem; + } + + .form-check-label, + .form-control { + font-size: 0.85rem; + } + + #price-chart-container { + display: flex; + height: 100%; + max-height: 100%; + overflow: hidden; + } + + #tv-price-chart { + width: 100%; + height: 100%; + max-height: 100%; + max-width: 100%; + display: flex; + justify-content: center; + align-items: center; + } + + .tv-lightweight-charts { + height: 100%; + width: 100%; + max-height: 100%; + max-width: 100%; + position: relative; + } + + canvas { + width: 100% !important; + /* Force the canvas to respect parent size */ + height: 100% !important; + /* Force the canvas to respect parent size */ + max-height: 100%; + /* Constrain max height to 100% of the parent */ + max-width: 100%; + /* Constrain max width to 100% of the parent */ + position: absolute; + top: 0; + left: 0; + } + + .mainSwiper { + font-size: 112%; + position: sticky; + top: 0; + z-index: 10; + margin-bottom: 0; + } + + + #theme-container, + #update-button-container { + position: sticky; + bottom: 0; + z-index: 10; + } + + /* dropup */ + #update-dropdown .Select-menu-outer { + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; + border-bottom: none; + -webkit-transform: translateY(calc((var(--row-height) * -1) - 100%)); + transform: translateY(calc((var(--row-height) * -1) - 100%)); + } + + .blur { + backdrop-filter: blur(21px); + left: 0; + right: 0; + position: fixed; + z-index: 7; + display: block !important; + } + + .top { + top: 0; + } + + .bottom { + bottom: 0; + } + + .Select-control, + .Select-menu-outer { + font-size: 0.7rem; + } } \ No newline at end of file From dbe501a24ee40f085e6f3a9ec1514888fd8734a3 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 14:10:41 -0500 Subject: [PATCH 22/44] bump version and toml formatting --- pyproject.toml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 87e666b..03da4d1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,9 @@ [project] name = "innov8" -version = "0.2.0-beta" +version = "0.3.0-beta" description = "an interactive market dashboard" authors = [ - {name = "mayushii21", email = "122178787+mayushii21@users.noreply.github.com"}, + { name = "mayushii21", email = "122178787+mayushii21@users.noreply.github.com" }, ] dependencies = [ "dash[diskcache]==2.16.1", @@ -22,7 +22,7 @@ dependencies = [ ] requires-python = ">=3.10" readme = "README.md" -license = {text = "BSD-3-Clause"} +license = { text = "BSD-3-Clause" } [build-system] requires = ["pdm-backend"] @@ -37,13 +37,9 @@ Repository = "https://github.com/mayushii21/market-dashboard" "Bug Tracker" = "https://github.com/mayushii21/market-dashboard/issues" [tool.pytest.ini_options] -addopts = [ - "--import-mode=importlib", -] +addopts = ["--import-mode=importlib"] [tool.pdm] [tool.pdm.dev-dependencies] -test = [ - "pytest>=8.2.2", -] +test = ["pytest>=8.2.2"] From 0470535fd7cca405026716284768bda80101b0f4 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 14:54:02 -0500 Subject: [PATCH 23/44] loading span --- src/innov8/components/main_carousel.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/innov8/components/main_carousel.py b/src/innov8/components/main_carousel.py index 2dfc152..d94db5e 100644 --- a/src/innov8/components/main_carousel.py +++ b/src/innov8/components/main_carousel.py @@ -1,4 +1,5 @@ -from dash import html +from dash import html, no_update +from dash._callback import NoUpdate from dash.dependencies import Input, Output, State from innov8.decorators.data_access import callback, clientside_callback, data_access @@ -37,6 +38,7 @@ def carousel() -> html.Div: return html.Div( html.Div( + children=[html.Span("Loading...")], className="swiper-wrapper", id="main-carousel", ), From f0d8da000382abeecc9e9114dbb87681e8e7c4f5 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:12:09 -0500 Subject: [PATCH 24/44] add assertion --- src/innov8/update_all.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/innov8/update_all.py b/src/innov8/update_all.py index 9577665..c86b80c 100644 --- a/src/innov8/update_all.py +++ b/src/innov8/update_all.py @@ -13,6 +13,7 @@ def main() -> None: logger.configure(handlers=[{"sink": sys.stderr, "level": "INFO"}]) + assert data.main_table symbols = data.main_table.symbol.unique() logger.info("Updating all...") for symbol in tqdm(symbols): From f63cd66385557b37075060f38b2704a27cf14870 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:12:40 -0500 Subject: [PATCH 25/44] adjust tests to changes --- tests/test_callbacks.py | 88 +++------------------------------------- tests/test_components.py | 49 ++++++++-------------- 2 files changed, 23 insertions(+), 114 deletions(-) diff --git a/tests/test_callbacks.py b/tests/test_callbacks.py index 29bed48..a0f0e33 100644 --- a/tests/test_callbacks.py +++ b/tests/test_callbacks.py @@ -16,7 +16,11 @@ ) from innov8.components.main_carousel import update_main_carousel from innov8.components.price_card import update_symbol_data -from innov8.components.price_chart import update_indicator_period, update_price_chart +from innov8.components.price_chart import ( + hex_to_rgba, + update_indicator_period, + update_price_chart, +) from innov8.components.update import update_button_style, update_ticker_data @@ -83,7 +87,7 @@ def test_update_main_carousel(): assert len(carousel_data) == 10 # Verify proper color assignment for item in carousel_data: - assert isinstance(item.children[0].children, str) + assert item.children and isinstance(item.children[0].children, str) assert ( item.children[1].style["color"] == "green" if item.children[1].children[0] == "+" @@ -168,83 +172,3 @@ def price_chart(): ), ): return update_price_chart("AAPL", True, True, 9, 50, None, None) - - -def test_update_price_chart(price_chart): - - if len(price_chart) != 4: - return False - - # Check the first element - if not isinstance(price_chart[0], list) or len(price_chart[0]) != 4: - return False - - # Check the chart types - chart_types = ["candlestick", "histogram", "line", "line"] - if price_chart[0] != chart_types: - return False - - # Check the second element - if not isinstance(price_chart[1], list) or len(price_chart[1]) != 4: - return False - - # Define validators for each part of the second element - def is_valid_candlestick_element(element: List[Dict[str, Any]]) -> bool: - required_keys = {"open", "high", "low", "close", "time"} - for item in element: - if not isinstance(item, dict) or not required_keys.issubset(item.keys()): - return False - if not ( - isinstance(item["open"], (int, float)) - and isinstance(item["high"], (int, float)) - and isinstance(item["low"], (int, float)) - and isinstance(item["close"], (int, float)) - and isinstance(item["time"], datetime) - ): - return False - return True - - def is_valid_histogram_element(element: List[Dict[str, Any]]) -> bool: - required_keys = {"value", "color", "time"} - for item in element: - if not isinstance(item, dict) or not required_keys.issubset(item.keys()): - return False - if not ( - isinstance(item["value"], int) - and isinstance(item["color"], str) - and isinstance(item["time"], datetime) - ): - return False - return True - - def is_valid_line_element(element: List[Dict[str, Any]]) -> bool: - required_keys = {"value", "time"} - for item in element: - if not isinstance(item, dict) or not required_keys.issubset(item.keys()): - return False - if not ( - isinstance(item["value"], (int, float)) - and isinstance(item["time"], datetime) - ): - return False - return True - - # Verify that the figure is successfully plotted - assert is_valid_candlestick_element(price_chart[1][0]) - assert is_valid_histogram_element(price_chart[1][1]) - assert is_valid_line_element(price_chart[1][2]) - assert is_valid_line_element(price_chart[1][3]) - - -def test_update_indicator_period(price_chart): - # Simulate context - def run_callback(): - context_value.set(AttributeDict(**{"triggered_inputs": [{"prop_id": ""}]})) - return update_indicator_period(price_chart[2], "AAPL", True, True, 9, 50) - - # Run function in context - ctx = copy_context() - output = ctx.run(run_callback) - - # Verify output in Patch format - assert isinstance(output, Patch) diff --git a/tests/test_components.py b/tests/test_components.py index b1ec5d2..7a59157 100644 --- a/tests/test_components.py +++ b/tests/test_components.py @@ -8,28 +8,14 @@ def test_carousel(): - carousel_data = carousel() - # Check that the settings are correct - assert carousel_data.autoplay is True - assert carousel_data.speed == 500 - assert carousel_data.slides_to_show == 5 - # Ensure proper data types for span children, as well as color - for child in carousel_data.children: - color = ( - isinstance(child.children[0].children, str) # True - and isinstance(child.children[1].children, str) # True - and child.children[1].style["color"] - ) - assert color in {"green", "red"} + assert carousel().children def test_carousel_52_week(): - carousel_data = carousel_52_week() - # Check that the settings are correct - assert carousel_data.autoplay is True - assert carousel_data.speed == 4000 - assert carousel_data.slides_to_show == 1 + carousel_data = carousel_52_week().children + assert carousel_data # Verify that the carousel contains proper components + assert len(carousel_data.children) == 2 assert carousel_data.children[0].id == "52-week-price-chart" assert carousel_data.children[1].id == "52-week-high-low-indicator" @@ -38,16 +24,17 @@ def test_dropdowns(): dd_1 = dropdown_1() dd_2 = dropdown_2() # Check settings - assert dd_1.clearable is False and dd_2.clearable is False + assert not getattr(dd_1, "clearable") and not getattr(dd_2, "clearable") # Verify proper components - assert dd_1.id == "sector-dropdown" - assert dd_2.id == "symbol-dropdown" + assert getattr(dd_1, "id") == "sector-dropdown" + assert getattr(dd_2, "id") == "symbol-dropdown" # Verify options data type - assert {isinstance(option, str) for option in dd_1.options} == {True} + assert {isinstance(option, str) for option in getattr(dd_1, "options")} == {True} def test_update_button(): update_group_data = update_button() + assert update_group_data.children # Check settings assert update_group_data.children[0].outline is True assert {option["value"] for option in update_group_data.children[1].options} == { @@ -66,27 +53,24 @@ def test_stores(): isd = intra_sector_data() us = update_state() # Check storage type - assert isd.storage_type == us.storage_type == "session" + assert getattr(isd, "storage_type") == getattr(us, "storage_type") == "session" # Verify proper components - assert isd.id == "intra_sector_data" - assert us.id == "update-state" + assert getattr(isd, "id") == "intra_sector_data" + assert getattr(us, "id") == "update-state" def test_table(): table_data = table_info() + assert table_data.children # Check settings - assert table_data.children[1].style_table["overflowY"] == "auto" - assert ( - table_data.children[1].style_data["backgroundColor"] - == table_data.children[1].style_header["backgroundColor"] - == "rgba(0,0,0,0)" - ) + assert table_data.children[1].style_data["backgroundColor"] == "rgba(0,0,0,0)" # Verify proper component assert table_data.children[1].id == "correlation-table" def test_price_card(): price_card_data = price_card() + assert price_card_data.children # Verify proper components assert price_card_data.children[0].id == "ticker-symbol" assert price_card_data.children[1].id == "ticker-name" @@ -99,6 +83,7 @@ def test_price_card(): def test_switches(): ema_switch_data = ema_switch() sma_switch_data = sma_switch() + assert ema_switch_data.children and sma_switch_data.children # Check settings assert ema_switch_data.children[0].children.persistence is True assert sma_switch_data.children[0].children.persistence is True @@ -115,4 +100,4 @@ def test_switches(): def test_price_chart(): # Verify proper component - assert price_chart().id == "tv-price-chart" + assert getattr(price_chart(), "id") == "tv-price-chart" From 8fb3231f68c5eab458bea9275b3891a6f500e9fb Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:42:32 -0500 Subject: [PATCH 26/44] disable search (input) on dropdowns --- src/innov8/assets/main.css | 4 ++++ src/innov8/components/dropdowns.py | 4 ++-- src/innov8/components/update.py | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css index 531ce89..59183a6 100644 --- a/src/innov8/assets/main.css +++ b/src/innov8/assets/main.css @@ -216,6 +216,10 @@ align-items: center; } +.Select-input { + background: transparent !important; +} + @media (max-width: 1024px) { html { font-size: 90%; diff --git a/src/innov8/components/dropdowns.py b/src/innov8/components/dropdowns.py index d2530b0..46ab96c 100644 --- a/src/innov8/components/dropdowns.py +++ b/src/innov8/components/dropdowns.py @@ -11,7 +11,7 @@ def dropdown_1(data): options=sorted(data.main_table["sector"].unique().tolist()), value="Technology", id="sector-dropdown", - # placeholder="Select Economic Sector", + searchable=False, clearable=False, persistence=True, # user interaction local persistence className="row-option", @@ -24,7 +24,7 @@ def dropdown_2(): # options will be filled by callback # Default ticker - first ticker of sector, chosen by callback id="symbol-dropdown", - # placeholder="Select Ticker Symbol", + searchable=False, clearable=False, persistence=True, # user interaction local persistence className="row-option", diff --git a/src/innov8/components/update.py b/src/innov8/components/update.py index a02e860..ee09e84 100644 --- a/src/innov8/components/update.py +++ b/src/innov8/components/update.py @@ -31,6 +31,7 @@ def update_button() -> dbc.ButtonGroup: "borderTopLeftRadius": 0, # squarify :] "borderBottomLeftRadius": 0, }, + searchable=False, clearable=False, className="row-option", ), From 25efc9da9cd872c1e40c770a9fbf79e73c6715ca Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:42:54 -0500 Subject: [PATCH 27/44] use dvh instead of vh --- src/innov8/assets/main.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css index 59183a6..cb8f805 100644 --- a/src/innov8/assets/main.css +++ b/src/innov8/assets/main.css @@ -118,7 +118,7 @@ grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: calc(var(--row-height) - var(--gap)) var(--row-height) auto 1fr 1fr var(--row-height); gap: var(--gap); - height: 100vh; + height: 100dvh; padding-bottom: calc(var(--gap) / 2); /* Define named grid areas */ @@ -234,9 +234,9 @@ padding-left: var(--gap) !important; padding-right: var(--gap) !important; padding-bottom: 0; - height: calc(200vh - (var(--row-height) * 2)); + height: calc(200dvh - (var(--row-height) * 2)); grid-template-columns: 1fr 1fr 1fr 1fr; - grid-template-rows: var(--row-height) var(--row-height) auto minmax(0, 1fr) var(--row-height) repeat(2, calc((100vh - (var(--row-height) * 2) - (var(--gap) * 3)) / 2)) var(--row-height); + grid-template-rows: var(--row-height) var(--row-height) auto minmax(0, 1fr) var(--row-height) repeat(2, calc((100dvh - (var(--row-height) * 2) - (var(--gap) * 3)) / 2)) var(--row-height); gap: 10px; grid-template-areas: "swiper swiper swiper swiper" From c0d4f9593ff2a7143bf4fb4684a5db4c52fd8722 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:52:31 -0500 Subject: [PATCH 28/44] set vapor as default theme --- src/innov8/app.py | 2 +- src/innov8/components/themes.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/innov8/app.py b/src/innov8/app.py index 917cdb2..4741d3f 100644 --- a/src/innov8/app.py +++ b/src/innov8/app.py @@ -3,7 +3,7 @@ from dash import Dash, DiskcacheManager # Initiate dash app with default theme (visible for a split second before theme from ThemeChangerAIO takes over) -default_theme = dbc.themes.CYBORG +default_theme = dbc.themes.VAPOR # css for styling dcc and html components with dbc themes dbc_css = ( "https://cdn.jsdelivr.net/gh/AnnMarieW/dash-bootstrap-templates@V1.0.8/dbc.min.css" diff --git a/src/innov8/components/themes.py b/src/innov8/components/themes.py index 8d90478..c244455 100644 --- a/src/innov8/components/themes.py +++ b/src/innov8/components/themes.py @@ -78,7 +78,7 @@ "label_id": "theme-switch-label", }, ], - "value": dbc.themes.CYBORG, + "value": dbc.themes.VAPOR, "persistence": True, }, button_props={ From e1b2af3f4d2dccb1c9cd6d5bd60f654d9e7be47b Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sun, 20 Oct 2024 17:32:16 -0500 Subject: [PATCH 29/44] fix spinner positioning and add fallbacks and vendor prefs --- src/innov8/assets/main.css | 46 +++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css index cb8f805..a0931a9 100644 --- a/src/innov8/assets/main.css +++ b/src/innov8/assets/main.css @@ -1,18 +1,18 @@ /* Loading indicator */ ._dash-loading { position: fixed; - top: 50%; - left: 50%; + top: 0; + left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; + -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); z-index: 1000; visibility: hidden; background-color: rgba(0, 0, 0, 0.3); - transform: translate(-50%, -50%); } ._dash-loading::after { @@ -22,17 +22,23 @@ border: 4px solid #ccc; border-top-color: #3498db; border-radius: 50%; + -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite; - /* z-index: 1001; */ position: absolute; - top: 50%; - left: 50%; visibility: visible; } /* Spinner animation */ +@-webkit-keyframes spin { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + @keyframes spin { to { + -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @@ -59,7 +65,13 @@ .row-option { height: var(--row-height) !important; width: 100%; - min-width: fit-content; + min-width: auto; +} + +@supports (min-width: fit-content) { + .row-option { + min-width: fit-content; + } } .width-reset { @@ -118,7 +130,7 @@ grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: calc(var(--row-height) - var(--gap)) var(--row-height) auto 1fr 1fr var(--row-height); gap: var(--gap); - height: 100dvh; + height: 100vh; padding-bottom: calc(var(--gap) / 2); /* Define named grid areas */ @@ -131,6 +143,12 @@ "theme theme . . . ema ema sma sma weekly weekly weekly"; } +@supports (height: 100dvh) { + .grid-container { + height: 100dvh; + } +} + .mainSwiper { grid-area: swiper; position: sticky; @@ -234,9 +252,9 @@ padding-left: var(--gap) !important; padding-right: var(--gap) !important; padding-bottom: 0; - height: calc(200dvh - (var(--row-height) * 2)); + height: calc(200vh - (var(--row-height) * 2)); grid-template-columns: 1fr 1fr 1fr 1fr; - grid-template-rows: var(--row-height) var(--row-height) auto minmax(0, 1fr) var(--row-height) repeat(2, calc((100dvh - (var(--row-height) * 2) - (var(--gap) * 3)) / 2)) var(--row-height); + grid-template-rows: var(--row-height) var(--row-height) auto minmax(0, 1fr) var(--row-height) repeat(2, calc((100vh - (var(--row-height) * 2) - (var(--gap) * 3)) / 2)) var(--row-height); gap: 10px; grid-template-areas: "swiper swiper swiper swiper" @@ -249,6 +267,13 @@ "theme update update update"; } + @supports (height: 100dvh) { + .grid-container { + height: calc(200dvh - (var(--row-height) * 2)); + grid-template-rows: var(--row-height) var(--row-height) auto minmax(0, 1fr) var(--row-height) repeat(2, calc((100dvh - (var(--row-height) * 2) - (var(--gap) * 3)) / 2)) var(--row-height); + } + } + #forecast-button { font-size: 0.875rem; } @@ -325,6 +350,7 @@ } .blur { + -webkit-backdrop-filter: blur(21px); backdrop-filter: blur(21px); left: 0; right: 0; From 2bdf22833ff05ceb9abd40e314605718244d5663 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Mon, 21 Oct 2024 17:44:00 -0500 Subject: [PATCH 30/44] inline styles to css --- src/innov8/assets/main.css | 21 +++++++++++++++++---- src/innov8/components/charts_52w.py | 8 -------- src/innov8/components/intra_sector.py | 7 +------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/innov8/assets/main.css b/src/innov8/assets/main.css index a0931a9..c674716 100644 --- a/src/innov8/assets/main.css +++ b/src/innov8/assets/main.css @@ -207,15 +207,18 @@ #intra-sector-container { grid-area: table; height: 100%; -} - -#intra-sector-container { - grid-area: table; display: flex; flex-direction: column; min-height: 0; } +#intra-sector-title { + text-align: center; + display: block; + margin-bottom: 0.5em; + font-size: 1em; +} + #correlation-table { flex: 1; overflow-y: auto; @@ -225,6 +228,16 @@ grid-area: weekly; } +#weekly-charts-carousel { + height: 100%; + width: 100%; +} + +#weekly-charts-carousel>.swiper-wrapper { + height: 100%; + width: 200%; +} + .blur { display: none; } diff --git a/src/innov8/components/charts_52w.py b/src/innov8/components/charts_52w.py index 893954c..d8b19c3 100644 --- a/src/innov8/components/charts_52w.py +++ b/src/innov8/components/charts_52w.py @@ -23,17 +23,9 @@ def carousel_52_week() -> html.Div: className="swiper-slide", ), ], - style={ - "height": "100%", - "width": "200%", - }, ), id="weekly-charts-carousel", className="swiper weeklySwiper", - style={ - "height": "100%", - "width": "100%", - }, ) diff --git a/src/innov8/components/intra_sector.py b/src/innov8/components/intra_sector.py index 8ce3704..75281c3 100644 --- a/src/innov8/components/intra_sector.py +++ b/src/innov8/components/intra_sector.py @@ -53,12 +53,7 @@ def table_info(): [ html.P( "Intra-sector Table", - style={ - "textAlign": "center", - "display": "block", - "marginBottom": "0.5em", - "fontSize": "1em", - }, + id="intra-sector-title", ), dash_table.DataTable( id="correlation-table", From 6796bc744c7cfe14a2543818ca406096d3dabcf3 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 22 Oct 2024 20:15:42 -0500 Subject: [PATCH 31/44] set default theme to cyborg again.. (for dark screen on initial load) --- src/innov8/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/innov8/app.py b/src/innov8/app.py index 4741d3f..917cdb2 100644 --- a/src/innov8/app.py +++ b/src/innov8/app.py @@ -3,7 +3,7 @@ from dash import Dash, DiskcacheManager # Initiate dash app with default theme (visible for a split second before theme from ThemeChangerAIO takes over) -default_theme = dbc.themes.VAPOR +default_theme = dbc.themes.CYBORG # css for styling dcc and html components with dbc themes dbc_css = ( "https://cdn.jsdelivr.net/gh/AnnMarieW/dash-bootstrap-templates@V1.0.8/dbc.min.css" From 9b6ffb0d3b824aec4fcb1a0e8a3b4ef1ffbf02da Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 22 Oct 2024 20:21:15 -0500 Subject: [PATCH 32/44] fix tvlwc scaling by triggering resize event on initial load --- src/innov8/assets/utils.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/innov8/assets/utils.js diff --git a/src/innov8/assets/utils.js b/src/innov8/assets/utils.js new file mode 100644 index 0000000..7c44a12 --- /dev/null +++ b/src/innov8/assets/utils.js @@ -0,0 +1,24 @@ +window.addEventListener("load", function () { + function checkIfInitialLoadComplete() { + const initialLoadElement = document.getElementById("initial-load"); + + // Check if the element exists and has no classes (the loading screen has finished) + if (initialLoadElement && initialLoadElement.classList.length === 0) { + window.dispatchEvent(new Event("resize")); + return true; // Stop the loop + } + + return false; // Continue checking + } + + // Poll until #initial-load has no classes + const intervalId = setInterval(() => { + if (checkIfInitialLoadComplete()) { + clearInterval(intervalId); // Stop checking once the condition is met + } + }, 100); + + setTimeout(() => { + clearInterval(intervalId); + }, 10000); +}); From c615c4b229dff1cb0331323e22e777c4c6b52b71 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 22 Oct 2024 20:22:16 -0500 Subject: [PATCH 33/44] check for full length before initiating swiper --- src/innov8/components/main_carousel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/innov8/components/main_carousel.py b/src/innov8/components/main_carousel.py index d94db5e..e3fa4a9 100644 --- a/src/innov8/components/main_carousel.py +++ b/src/innov8/components/main_carousel.py @@ -101,7 +101,7 @@ def update_main_carousel(data, _) -> list[html.Div]: const carouselElement = document.getElementById("main-carousel"); // Check if the carousel element exists and has children - if (carouselElement && carouselElement.children.length > 0) { + if (carouselElement && carouselElement.children.length >= 5) { clearInterval(checkChildren); // Stop polling once children are found initSwiper(); // Initialize Swiper } From bcf4db91d9e9213bdc2cac513f60f35b33d5876f Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 22 Oct 2024 20:24:04 -0500 Subject: [PATCH 34/44] replace dcc store with thread locked module level globals fixes react recursive update error --- src/innov8/components/__init__.py | 2 +- src/innov8/components/intra_sector.py | 95 ++++++++++++++------------- src/innov8/layout.py | 2 - 3 files changed, 51 insertions(+), 48 deletions(-) diff --git a/src/innov8/components/__init__.py b/src/innov8/components/__init__.py index e74424e..e25cc9e 100644 --- a/src/innov8/components/__init__.py +++ b/src/innov8/components/__init__.py @@ -2,7 +2,7 @@ from innov8.components.dropdowns import dropdown_1, dropdown_2 from innov8.components.forcast import forecast_button from innov8.components.initial_load import initial_load -from innov8.components.intra_sector import intra_sector_data, table_info +from innov8.components.intra_sector import table_info from innov8.components.main_carousel import carousel from innov8.components.price_card import price_card from innov8.components.price_chart import ema_switch, price_chart, sma_switch diff --git a/src/innov8/components/intra_sector.py b/src/innov8/components/intra_sector.py index 75281c3..38a8810 100644 --- a/src/innov8/components/intra_sector.py +++ b/src/innov8/components/intra_sector.py @@ -1,50 +1,16 @@ import datetime +import threading import pandas as pd -from dash import dash_table, dcc, html +from dash import callback_context, dash_table, html from dash.dependencies import Input, Output from innov8.decorators.data_access import callback, data_access - # Store intermediate values -# Data with the session option will survive a page refresh but will be forgotten on page close -def intra_sector_data(): - return dcc.Store(id="intra_sector_data", storage_type="session") - - -# Calculate intra-sector data for "correlation-table", update when sector changes or data is updated -@callback( - Output("intra_sector_data", "data"), - Input("sector-dropdown", "value"), - Input("update-state", "data"), -) -@data_access -def calculate_table_data(data, sector, update): - # Filter by sector and select necessary columns - sector_table = data.main_table.loc[ - data.main_table.sector == sector, ["symbol", "date", "close"] - ] - # Convert to string from category - sector_table["symbol"] = sector_table.symbol.astype(str) - # Find the latest date that is shared by all symbols of the sector - end_date = sector_table.groupby("symbol").date.max().min() - # Subtract 90 days - start_date = end_date - datetime.timedelta(90) - # Filter the date - sector_table = sector_table[ - (sector_table.date >= start_date) & (sector_table.date <= end_date) - ] - # Pivot and calculate correlations - intra_sector_corr = ( - sector_table.pivot(columns="symbol", index="date", values="close") - .corr() - .round(3) - ) - # Get prices of tickers in sector - sector_prices = sector_table.drop(columns="date").groupby("symbol").last().round(2) - - return [intra_sector_corr.to_dict(), sector_prices.to_dict()] +corr_table: pd.DataFrame = pd.DataFrame() +price_table: pd.DataFrame = pd.DataFrame() +threadlock = threading.Lock() # This DataTable contains intra-sector ticker prices and 90-day correlations @@ -78,17 +44,55 @@ def table_info(): ) +@data_access +def calculate_table_data(data, sector) -> None: + """Calculate intra-sector data for `correlation-table`""" + global corr_table, price_table + # Filter by sector and select necessary columns + sector_table = data.main_table.loc[ + data.main_table.sector == sector, ["symbol", "date", "close"] + ] + # Convert to string from category + sector_table["symbol"] = sector_table.symbol.astype(str) + # Find the latest date that is shared by all symbols of the sector + end_date = sector_table.groupby("symbol").date.max().min() + # Subtract 90 days + start_date = end_date - datetime.timedelta(90) + # Filter the date + sector_table = sector_table[ + (sector_table.date >= start_date) & (sector_table.date <= end_date) + ] + with threadlock: + # Pivot and calculate correlations + corr_table = ( + sector_table.pivot(columns="symbol", index="date", values="close") + .corr() + .round(3) + ) + # Get prices of tickers in sector + price_table = ( + sector_table.drop(columns="date").groupby("symbol").last().round(2) + ) + + # Update the table @callback( Output("correlation-table", "data"), + Input("sector-dropdown", "value"), Input("symbol-dropdown", "value"), - Input("intra_sector_data", "data"), + Input("update-state", "data"), ) -def update_intra_sector_table(symbol, data): - # Filter intra-sector correlation data - filt_corr = pd.DataFrame(data[0])[symbol].drop(symbol).to_frame() - # Filter intra-sector price data - filt_prices = pd.DataFrame(data[1]).drop(symbol) +def update_intra_sector_table(sector, symbol, _): + # Only recalculate when sector changes or data is updated, not when symbol changes + if callback_context.triggered_prop_ids != { + "symbol-dropdown.value": "symbol-dropdown" + }: + calculate_table_data(sector) + with threadlock: + # Filter intra-sector correlation data + filt_corr = pd.DataFrame(corr_table)[symbol].drop(symbol).to_frame() + # Filter intra-sector price data + filt_prices = pd.DataFrame(price_table).drop(symbol) # Combine into a single table table = ( filt_prices.join(filt_corr) @@ -96,4 +100,5 @@ def update_intra_sector_table(symbol, data): .rename(columns={symbol: "90-day corr", "close": "price", "index": "symbol"}) .sort_values(by="90-day corr", key=abs, ascending=False) ) + return table.to_dict("records") diff --git a/src/innov8/layout.py b/src/innov8/layout.py index f20db44..2b786b4 100644 --- a/src/innov8/layout.py +++ b/src/innov8/layout.py @@ -10,7 +10,6 @@ ema_switch, forecast_button, initial_load, - intra_sector_data, price_card, price_chart, sma_switch, @@ -56,7 +55,6 @@ def layout() -> dbc.Container: id="weekly-charts-container", hidden=True, # hidden on initial load ), - intra_sector_data(), initial_load(), html.Div(className="blur top row-option"), html.Div(className="blur bottom row-option"), From b992599910b27e9934878e9e30280cabe65b6efe Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 22 Oct 2024 20:28:49 -0500 Subject: [PATCH 35/44] fix ambiguous truth value of pandas df, adjust initial population of db --- src/innov8/db_ops.py | 8 +++++++- src/innov8/update_all.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/innov8/db_ops.py b/src/innov8/db_ops.py index 2cfd6cf..31e7c5e 100644 --- a/src/innov8/db_ops.py +++ b/src/innov8/db_ops.py @@ -74,6 +74,10 @@ def __init__(self, script_directory: Path): self.insert_ticker_info() # Download data and fill date and price tables self.fill_ohlc() + self.load_main_table() + assert self.main_table is not None + for symbol in tqdm(self.main_table.symbol.unique()): + self.generate_forecast(symbol) # If the database is already populated else: self.initiate_tickers_obj(scrape=False) @@ -275,8 +279,10 @@ def fill_ohlc(self): ): try: # Retrieve OHLC data for symbol + start_date = (datetime.now() - timedelta(days=365)).strftime("%Y-%m-%d") + end_date = datetime.now().strftime("%Y-%m-%d") ohlc_data = self.tickers.tickers[symbol[0]].history( - start="2022-07-01", end="2023-07-01" + start=start_date, end=end_date )[["Open", "High", "Low", "Close", "Volume"]] # Convert the date to a unix timestamp (remove timezone holding local time representations) ohlc_data.index = ( diff --git a/src/innov8/update_all.py b/src/innov8/update_all.py index c86b80c..0de4f6e 100644 --- a/src/innov8/update_all.py +++ b/src/innov8/update_all.py @@ -13,7 +13,7 @@ def main() -> None: logger.configure(handlers=[{"sink": sys.stderr, "level": "INFO"}]) - assert data.main_table + assert data.main_table is not None symbols = data.main_table.symbol.unique() logger.info("Updating all...") for symbol in tqdm(symbols): From 9f5e17e25ae60456ded4c5e8c6309e1c4f014c62 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:43:38 -0500 Subject: [PATCH 36/44] thread lock db ops --- src/innov8/db_ops.py | 534 ++++++++++++++++++++++--------------------- 1 file changed, 276 insertions(+), 258 deletions(-) diff --git a/src/innov8/db_ops.py b/src/innov8/db_ops.py index 31e7c5e..0f95a39 100644 --- a/src/innov8/db_ops.py +++ b/src/innov8/db_ops.py @@ -5,8 +5,9 @@ import logging import os import sqlite3 +import threading import time -from datetime import datetime +from datetime import datetime, timedelta from pathlib import Path from typing import cast @@ -52,21 +53,26 @@ def __init__(self, script_directory: Path): self.script_directory = script_directory # Construct the absolute path to the database file self.db_path = script_directory / "stonks.db" + self.lock = threading.Lock() # Connect to the database using the absolute path - self.con = sqlite3.connect(self.db_path, check_same_thread=False) - self.cur = self.con.cursor() + with self.lock: + self.con = sqlite3.connect(self.db_path, check_same_thread=False) + self.cur = self.con.cursor() + self.ticker_symbols = None self.main_table: pd.DataFrame | None = None # Check if the database is populated by checking if the price table is present - if not self.cur.execute( - """ - SELECT name - FROM sqlite_master - WHERE TYPE = 'table' - AND name = 'price' - """ - ).fetchone(): + with self.lock: + tables_exist = self.cur.execute( + """ + SELECT name + FROM sqlite_master + WHERE TYPE = 'table' + AND name = 'price' + """ + ).fetchone() + if not tables_exist: # Create necessary tables self.create_tables() self.initiate_tickers_obj(scrape=True) @@ -183,100 +189,102 @@ def create_tables(self): DROP TABLE IF EXISTS currency; DROP TABLE IF EXISTS forecast; """ - self.cur.executescript(drop_tables) - self.cur.executescript(create_tables_query) - self.con.commit() + with self.lock: + self.cur.executescript(drop_tables) + self.cur.executescript(create_tables_query) + self.con.commit() def insert_ticker_info(self): logger.info("Populating database with main ticker information...") for symbol in tqdm(self.ticker_symbols): try: - with self.con: - info = self.tickers.tickers[symbol].info - self.con.execute( - """ - INSERT - OR IGNORE INTO currency (iso_code) - VALUES (:currency) - """, - info, - ) - self.con.execute( - """ - INSERT - OR IGNORE INTO exchange (name) - VALUES (:exchange) - """, - info, - ) - self.con.execute( - """ - INSERT - OR IGNORE INTO ticker_type (name) - VALUES (:quoteType) - """, - info, - ) - self.con.execute( - """ - INSERT - OR IGNORE INTO sector (name) - VALUES (:sector) - """, - info, - ) - self.con.execute( - """ - INSERT INTO ticker ( - name, - symbol, - currency_id, - exchange_id, - ticker_type_id, - sector_id - ) - VALUES ( - :shortName, - :symbol, - ( - SELECT id - FROM currency - WHERE iso_code = :currency - ), - ( - SELECT id - FROM exchange - WHERE name = :exchange - ), - ( - SELECT id - FROM ticker_type - WHERE name = :quoteType - ), - ( - SELECT id - FROM sector - WHERE name = :sector + info = self.tickers.tickers[symbol].info + with self.lock: + with self.con: + self.con.execute( + """ + INSERT + OR IGNORE INTO currency (iso_code) + VALUES (:currency) + """, + info, + ) + self.con.execute( + """ + INSERT + OR IGNORE INTO exchange (name) + VALUES (:exchange) + """, + info, + ) + self.con.execute( + """ + INSERT + OR IGNORE INTO ticker_type (name) + VALUES (:quoteType) + """, + info, + ) + self.con.execute( + """ + INSERT + OR IGNORE INTO sector (name) + VALUES (:sector) + """, + info, + ) + self.con.execute( + """ + INSERT INTO ticker ( + name, + symbol, + currency_id, + exchange_id, + ticker_type_id, + sector_id ) - ) - """, - info, - ) - logger.debug("Successfully inserted info for {}", symbol) + VALUES ( + :shortName, + :symbol, + ( + SELECT id + FROM currency + WHERE iso_code = :currency + ), + ( + SELECT id + FROM exchange + WHERE name = :exchange + ), + ( + SELECT id + FROM ticker_type + WHERE name = :quoteType + ), + ( + SELECT id + FROM sector + WHERE name = :sector + ) + ) + """, + info, + ) + logger.debug("Successfully inserted info for {}", symbol) except Exception: logger.error("Failed to insert {}", symbol) def fill_ohlc(self): logger.info("Populating database with OHLC data...") # Per ticker OHLC data retrieval - helps avoid rate limiting - for symbol in tqdm( - self.cur.execute( + with self.lock: + symbols = self.cur.execute( """ SELECT symbol FROM ticker """ ).fetchall() - ): + for symbol in tqdm(symbols): try: # Retrieve OHLC data for symbol start_date = (datetime.now() - timedelta(days=365)).strftime("%Y-%m-%d") @@ -294,56 +302,58 @@ def fill_ohlc(self): ohlc_data.reset_index(inplace=True) # Convert to a list of dictionaries (records) ohlc_data = ohlc_data.to_dict(orient="records") - with self.con: - # Inserting date could be optimized - self.con.executemany( - """ - INSERT - OR IGNORE INTO date (date) - VALUES (:Date) - """, - ohlc_data, - ) + with self.lock: + with self.con: + # Inserting date could be optimized + self.con.executemany( + """ + INSERT + OR IGNORE INTO date (date) + VALUES (:Date) + """, + ohlc_data, + ) - # Using an f-string is an SQL injection vulnerability, - # but given the context it doesn't matter, can be easily fixed if needed - self.con.executemany( - f""" - INSERT INTO price ( - ticker_id, - date_id, - OPEN, - high, - low, - close, - volume - ) - VALUES ( - ( - SELECT id - FROM ticker - WHERE symbol = '{symbol[0]}' - ), - ( - SELECT id - FROM date - WHERE date = :Date - ), - :Open, - :High, - :Low, - :Close, - :Volume - ) - """, - ohlc_data, - ) - logger.debug("Successfully inserted OHLC data for {}", symbol[0]) + # Using an f-string is an SQL injection vulnerability, + # but given the context it doesn't matter, can be easily fixed if needed + self.con.executemany( + f""" + INSERT INTO price ( + ticker_id, + date_id, + OPEN, + high, + low, + close, + volume + ) + VALUES ( + ( + SELECT id + FROM ticker + WHERE symbol = '{symbol[0]}' + ), + ( + SELECT id + FROM date + WHERE date = :Date + ), + :Open, + :High, + :Low, + :Close, + :Volume + ) + """, + ohlc_data, + ) + logger.debug("Successfully inserted OHLC data for {}", symbol[0]) except Exception as e: logger.error("[{}] Exception: {}", symbol[0], e) def generate_forecast(self, symbol: str) -> None: - df = self.main_table + with self.lock: + df = self.main_table assert df is not None predictions = {} @@ -408,57 +418,60 @@ def generate_forecast(self, symbol: str) -> None: # Insert data into the database try: - with self.con: - self.con.execute( - """ - INSERT INTO forecast (ticker_id, date, open, high, low, close) - VALUES ( + with self.lock: + with self.con: + self.con.execute( + """ + INSERT INTO forecast (ticker_id, date, open, high, low, close) + VALUES ( + ( + SELECT id + FROM ticker + WHERE symbol = ? + ), + ?, ?, ?, ?, ? + ) + """, ( - SELECT id - FROM ticker - WHERE symbol = ? + symbol, + pred_date, + o_price, + h_price, + l_price, + c_price, ), - ?, ?, ?, ?, ? ) - """, - ( - symbol, - pred_date, - o_price, - h_price, - l_price, - c_price, - ), - ) except Exception as e: logger.error("[{}] Exception: {}", symbol, e) def clear_forecasts(self): - with self.con: - self.con.execute( - """ - DELETE - FROM forecast; - """ - ) + with self.lock: + with self.con: + self.con.execute( + """ + DELETE + FROM forecast; + """ + ) def get_forecasts(self, symbol: str, date: datetime): - with self.con: - return self.con.execute( - """ - SELECT open, high, low, close, date - FROM forecast - WHERE ticker_id = ( - SELECT id - FROM ticker - WHERE symbol = ? - ) - AND date > ? - ORDER BY date ASC - LIMIT 1 - """, - (symbol, date), - ).fetchone() + with self.lock: + with self.con: + return self.con.execute( + """ + SELECT open, high, low, close, date + FROM forecast + WHERE ticker_id = ( + SELECT id + FROM ticker + WHERE symbol = ? + ) + AND date > ? + ORDER BY date ASC + LIMIT 1 + """, + (symbol, date), + ).fetchone() # Create DataFrame from SQL query def load_main_table(self, force_update=True): @@ -469,39 +482,42 @@ def load_main_table(self, force_update=True): ): logger.info("Loading main table...") if update_signal: - if self.con: - self.con.close() # Close the existing connection if it exists - - self.con = sqlite3.connect(self.db_path, check_same_thread=False) - self.cur = self.con.cursor() - os.remove(self.script_directory / "update_signal") - self.main_table = pd.read_sql_query( - self.main_query, - self.con, - parse_dates=["date"], - dtype={ - "symbol": "category", - "name": "category", - "sector": "category", - "exchange": "category", - "type": "category", - "currency": "category", - }, - ) + with self.lock: + if self.con: + self.con.close() # Close the existing connection if it exists + + self.con = sqlite3.connect(self.db_path, check_same_thread=False) + self.cur = self.con.cursor() + os.remove(self.script_directory / "update_signal") + with self.lock: + self.main_table = pd.read_sql_query( + self.main_query, + self.con, + parse_dates=["date"], + dtype={ + "symbol": "category", + "name": "category", + "sector": "category", + "exchange": "category", + "type": "category", + "currency": "category", + }, + ) def initiate_tickers_obj(self, scrape): if scrape: self.ticker_symbols = self.scrape_symbols() else: - self.ticker_symbols = [ - symbol[0] - for symbol in self.con.execute( - """ - SELECT symbol - FROM ticker - """ - ).fetchall() - ] + with self.lock: + self.ticker_symbols = [ + symbol[0] + for symbol in self.con.execute( + """ + SELECT symbol + FROM ticker + """ + ).fetchall() + ] # Initiate tickers instance self.tickers = yf.Tickers(" ".join(self.ticker_symbols)) @@ -509,17 +525,18 @@ def initiate_tickers_obj(self, scrape): def add_new_ohlc(self, symbol): logger.debug("Updating {}...", symbol) try: - # Get the date for the next entry - next_entry = self.cur.execute( - """ - SELECT DATE(max(date) + 86400, 'unixepoch') - FROM price p - JOIN ticker t ON t.id = p.ticker_id - JOIN date d ON p.date_id = d.id - WHERE t.symbol = ? - """, - (symbol,), - ).fetchone()[0] + with self.lock: + # Get the date for the next entry + next_entry = self.cur.execute( + """ + SELECT DATE(max(date) + 86400, 'unixepoch') + FROM price p + JOIN ticker t ON t.id = p.ticker_id + JOIN date d ON p.date_id = d.id + WHERE t.symbol = ? + """, + (symbol,), + ).fetchone()[0] # Skip when start date is after end date timezone = self.tickers.tickers[symbol]._get_ticker_tz( @@ -550,51 +567,52 @@ def add_new_ohlc(self, symbol): ohlc_data.reset_index(inplace=True) # Convert to a list of dictionaries (records) ohlc_data = ohlc_data.to_dict(orient="records") - with self.con: - # Inserting date could be optimized - self.con.executemany( - """ - INSERT - OR IGNORE INTO date (date) - VALUES (:Date) - """, - ohlc_data, - ) + with self.lock: + with self.con: + # Inserting date could be optimized + self.con.executemany( + """ + INSERT + OR IGNORE INTO date (date) + VALUES (:Date) + """, + ohlc_data, + ) - # Using an f-string is an SQL injection vulnerability, - # but given the context it doesn't matter - self.con.executemany( - f""" - INSERT INTO price ( - ticker_id, - date_id, - OPEN, - high, - low, - close, - volume - ) - VALUES ( - ( - SELECT id - FROM ticker - WHERE symbol = '{symbol}' - ), - ( - SELECT id - FROM date - WHERE date = :Date - ), - :Open, - :High, - :Low, - :Close, - :Volume - ) - """, - ohlc_data, - ) - logger.debug("{} updated \u2713", symbol) + # Using an f-string is an SQL injection vulnerability, + # but given the context it doesn't matter + self.con.executemany( + f""" + INSERT INTO price ( + ticker_id, + date_id, + OPEN, + high, + low, + close, + volume + ) + VALUES ( + ( + SELECT id + FROM ticker + WHERE symbol = '{symbol}' + ), + ( + SELECT id + FROM date + WHERE date = :Date + ), + :Open, + :High, + :Low, + :Close, + :Volume + ) + """, + ohlc_data, + ) + logger.debug("{} updated \u2713", symbol) except Exception as e: logger.error("[{}] Exception: {}", symbol, e) From f9f7631e92105f5661ddf52aaa2489444d34416e Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Fri, 25 Oct 2024 18:09:14 -0500 Subject: [PATCH 37/44] rm old test --- tests/test_components.py | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/tests/test_components.py b/tests/test_components.py index 7a59157..98f30d6 100644 --- a/tests/test_components.py +++ b/tests/test_components.py @@ -1,10 +1,10 @@ from innov8.components.charts_52w import carousel_52_week from innov8.components.dropdowns import dropdown_1, dropdown_2 -from innov8.components.intra_sector import intra_sector_data, table_info +from innov8.components.intra_sector import table_info from innov8.components.main_carousel import carousel from innov8.components.price_card import price_card from innov8.components.price_chart import ema_switch, price_chart, sma_switch -from innov8.components.update import update_button, update_state +from innov8.components.update import update_button def test_carousel(): @@ -49,16 +49,6 @@ def test_update_button(): assert update_group_data.children[1].id == "update-dropdown" -def test_stores(): - isd = intra_sector_data() - us = update_state() - # Check storage type - assert getattr(isd, "storage_type") == getattr(us, "storage_type") == "session" - # Verify proper components - assert getattr(isd, "id") == "intra_sector_data" - assert getattr(us, "id") == "update-state" - - def test_table(): table_data = table_info() assert table_data.children From 35c4faed73b44cd24dcf6b1d57257f40ad822913 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:01:48 -0500 Subject: [PATCH 38/44] use theme temp fix --- pdm.lock | 76 +++++++++++++++++++++++++++++--------------------- pyproject.toml | 2 +- 2 files changed, 45 insertions(+), 33 deletions(-) diff --git a/pdm.lock b/pdm.lock index 0e5e641..0bc895a 100644 --- a/pdm.lock +++ b/pdm.lock @@ -4,8 +4,11 @@ [metadata] groups = ["default", "test"] strategy = ["cross_platform", "inherit_metadata"] -lock_version = "4.4.2" -content_hash = "sha256:f9f4df568f0713f0a410c9cb1dc8cb4b42081cf56e91056fdbc2ea37c5ed5f4b" +lock_version = "4.5.0" +content_hash = "sha256:3cffddece53ee55e8725f543b512793be580bc0a38b2a9b38d01a9a306b06a8a" + +[[metadata.targets]] +requires_python = ">=3.10" [[package]] name = "beautifulsoup4" @@ -122,6 +125,7 @@ summary = "Composable command line interface toolkit" groups = ["default"] dependencies = [ "colorama; platform_system == \"Windows\"", + "importlib-metadata; python_version < \"3.8\"", ] files = [ {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, @@ -255,18 +259,19 @@ files = [ [[package]] name = "dash-bootstrap-templates" -version = "1.1.2" +version = "0.1.dev109" +git = "https://github.com/mayushii21/dash-bootstrap-templates.git" +ref = "cdbb4b28c8aa97f44fcc76085639d1a26d3cc247" +revision = "cdbb4b28c8aa97f44fcc76085639d1a26d3cc247" summary = "A collection of Plotly figure templates with a Bootstrap theme" groups = ["default"] dependencies = [ "dash", "dash-bootstrap-components>=1.0.0", + "importlib-metadata>=3.4.0; python_version == \"3.7\"", + "importlib-resources>=5.1.0; python_version < \"3.9\"", "numpy", ] -files = [ - {file = "dash-bootstrap-templates-1.1.2.tar.gz", hash = "sha256:ad09b6d22500b7de3fd6cfe4886389de653ef16320969915f728b4bac5a7ba30"}, - {file = "dash_bootstrap_templates-1.1.2-py3-none-any.whl", hash = "sha256:87bb1e9dd7ac475f07d1237159091b9d154aa80fdae5fe579fb868e87343dfcd"}, -] [[package]] name = "dash-core-components" @@ -328,13 +333,13 @@ files = [ [[package]] name = "dill" -version = "0.3.8" +version = "0.3.9" requires_python = ">=3.8" summary = "serialize all of Python" groups = ["default"] files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, + {file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"}, + {file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"}, ] [[package]] @@ -371,6 +376,7 @@ dependencies = [ "Werkzeug>=3.0.0", "blinker>=1.6.2", "click>=8.1.3", + "importlib-metadata>=3.6.0; python_version < \"3.10\"", "itsdangerous>=2.1.2", ] files = [ @@ -486,6 +492,7 @@ requires_python = ">=3.8" summary = "Read metadata from Python packages" groups = ["default"] dependencies = [ + "typing-extensions>=3.6.4; python_version < \"3.8\"", "zipp>=0.5", ] files = [ @@ -499,6 +506,9 @@ version = "6.4.0" requires_python = ">=3.8" summary = "Read resources from Python packages" groups = ["default"] +dependencies = [ + "zipp>=3.1.0; python_version < \"3.10\"", +] files = [ {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, @@ -546,6 +556,9 @@ version = "1.4.5" requires_python = ">=3.7" summary = "A fast implementation of the Cassowary constraint solver" groups = ["default"] +dependencies = [ + "typing-extensions; python_version < \"3.8\"", +] files = [ {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, @@ -617,6 +630,7 @@ requires_python = ">=3.5" summary = "Python logging made (stupidly) simple" groups = ["default"] dependencies = [ + "aiocontextvars>=0.2.0; python_version < \"3.7\"", "colorama>=0.3.4; sys_platform == \"win32\"", "win32-setctime>=1.0.0; sys_platform == \"win32\"", ] @@ -803,6 +817,7 @@ dependencies = [ "contourpy>=1.0.1", "cycler>=0.10", "fonttools>=4.22.0", + "importlib-resources>=3.2.0; python_version < \"3.10\"", "kiwisolver>=1.3.1", "numpy>=1.23", "packaging>=20.0", @@ -838,25 +853,22 @@ files = [ [[package]] name = "multiprocess" -version = "0.70.16" +version = "0.70.17" requires_python = ">=3.8" summary = "better multiprocessing and multithreading in Python" groups = ["default"] dependencies = [ - "dill>=0.3.8", + "dill>=0.3.9", ] files = [ - {file = "multiprocess-0.70.16-pp310-pypy310_pp73-macosx_10_13_x86_64.whl", hash = "sha256:476887be10e2f59ff183c006af746cb6f1fd0eadcfd4ef49e605cbe2659920ee"}, - {file = "multiprocess-0.70.16-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d951bed82c8f73929ac82c61f01a7b5ce8f3e5ef40f5b52553b4f547ce2b08ec"}, - {file = "multiprocess-0.70.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37b55f71c07e2d741374998c043b9520b626a8dddc8b3129222ca4f1a06ef67a"}, - {file = "multiprocess-0.70.16-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba8c31889abf4511c7308a8c52bb4a30b9d590e7f58523302ba00237702ca054"}, - {file = "multiprocess-0.70.16-pp39-pypy39_pp73-macosx_10_13_x86_64.whl", hash = "sha256:0dfd078c306e08d46d7a8d06fb120313d87aa43af60d66da43ffff40b44d2f41"}, - {file = "multiprocess-0.70.16-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e7b9d0f307cd9bd50851afaac0dba2cb6c44449efff697df7c7645f7d3f2be3a"}, - {file = "multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02"}, - {file = "multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a"}, - {file = "multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e"}, - {file = "multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3"}, - {file = "multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1"}, + {file = "multiprocess-0.70.17-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ddb24e5bcdb64e90ec5543a1f05a39463068b6d3b804aa3f2a4e16ec28562d6"}, + {file = "multiprocess-0.70.17-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d729f55198a3579f6879766a6d9b72b42d4b320c0dcb7844afb774d75b573c62"}, + {file = "multiprocess-0.70.17-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2c82d0375baed8d8dd0d8c38eb87c5ae9c471f8e384ad203a36f095ee860f67"}, + {file = "multiprocess-0.70.17-py310-none-any.whl", hash = "sha256:38357ca266b51a2e22841b755d9a91e4bb7b937979a54d411677111716c32744"}, + {file = "multiprocess-0.70.17-py311-none-any.whl", hash = "sha256:2884701445d0177aec5bd5f6ee0df296773e4fb65b11903b94c613fb46cfb7d1"}, + {file = "multiprocess-0.70.17-py312-none-any.whl", hash = "sha256:2818af14c52446b9617d1b0755fa70ca2f77c28b25ed97bdaa2c69a22c47b46c"}, + {file = "multiprocess-0.70.17-py313-none-any.whl", hash = "sha256:20c28ca19079a6c879258103a6d60b94d4ffe2d9da07dda93fb1c8bc6243f522"}, + {file = "multiprocess-0.70.17.tar.gz", hash = "sha256:4ae2f11a3416809ebc9a48abfc8b14ecce0652a0944731a1493a3c1ba44ff57a"}, ] [[package]] @@ -1131,19 +1143,19 @@ files = [ [[package]] name = "psutil" -version = "6.0.0" +version = "6.1.0" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" summary = "Cross-platform lib for process and system monitoring in Python." groups = ["default"] files = [ - {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, - {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, - {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, - {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, - {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, + {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, + {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, + {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, + {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, + {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 03da4d1..4348f64 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [ dependencies = [ "dash[diskcache]==2.16.1", "dash-bootstrap-components", - "dash-bootstrap-templates==1.1.2", + "dash-bootstrap-templates @ git+https://github.com/mayushii21/dash-bootstrap-templates.git@cdbb4b28c8aa97f44fcc76085639d1a26d3cc247", "dash-tvlwc>=0.1.1", "requests", "beautifulsoup4", From 9d22d8c0dba7b032e93dce8759cefe81479d2209 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Wed, 4 Dec 2024 18:33:05 -0600 Subject: [PATCH 39/44] add cov dep --- pdm.lock | 144 ++++++++++++++++++++++++++++++++++++++++++++++++- pyproject.toml | 5 +- 2 files changed, 147 insertions(+), 2 deletions(-) diff --git a/pdm.lock b/pdm.lock index 0bc895a..863ec7e 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:3cffddece53ee55e8725f543b512793be580bc0a38b2a9b38d01a9a306b06a8a" +content_hash = "sha256:ed52893c498030e96726c49d145e593750e21c987eec946e351c499109f66903" [[metadata.targets]] requires_python = ">=3.10" @@ -207,6 +207,133 @@ files = [ {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"}, ] +[[package]] +name = "coverage" +version = "7.6.4" +requires_python = ">=3.9" +summary = "Code coverage measurement for Python" +groups = ["test"] +files = [ + {file = "coverage-7.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07"}, + {file = "coverage-7.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c8b95bf47db6d19096a5e052ffca0a05f335bc63cef281a6e8fe864d450a72"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ed9281d1b52628e81393f5eaee24a45cbd64965f41857559c2b7ff19385df51"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0809082ee480bb8f7416507538243c8863ac74fd8a5d2485c46f0f7499f2b491"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d541423cdd416b78626b55f123412fcf979d22a2c39fce251b350de38c15c15b"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58809e238a8a12a625c70450b48e8767cff9eb67c62e6154a642b21ddf79baea"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c9b8e184898ed014884ca84c70562b4a82cbc63b044d366fedc68bc2b2f3394a"}, + {file = "coverage-7.6.4-cp310-cp310-win32.whl", hash = "sha256:6bd818b7ea14bc6e1f06e241e8234508b21edf1b242d49831831a9450e2f35fa"}, + {file = "coverage-7.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:06babbb8f4e74b063dbaeb74ad68dfce9186c595a15f11f5d5683f748fa1d172"}, + {file = "coverage-7.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73d2b73584446e66ee633eaad1a56aad577c077f46c35ca3283cd687b7715b0b"}, + {file = "coverage-7.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51b44306032045b383a7a8a2c13878de375117946d68dcb54308111f39775a25"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3fb02fe73bed561fa12d279a417b432e5b50fe03e8d663d61b3d5990f29546"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed8fe9189d2beb6edc14d3ad19800626e1d9f2d975e436f84e19efb7fa19469b"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b369ead6527d025a0fe7bd3864e46dbee3aa8f652d48df6174f8d0bac9e26e0e"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ade3ca1e5f0ff46b678b66201f7ff477e8fa11fb537f3b55c3f0568fbfe6e718"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27fb4a050aaf18772db513091c9c13f6cb94ed40eacdef8dad8411d92d9992db"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f704f0998911abf728a7783799444fcbbe8261c4a6c166f667937ae6a8aa522"}, + {file = "coverage-7.6.4-cp311-cp311-win32.whl", hash = "sha256:29155cd511ee058e260db648b6182c419422a0d2e9a4fa44501898cf918866cf"}, + {file = "coverage-7.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:8902dd6a30173d4ef09954bfcb24b5d7b5190cf14a43170e386979651e09ba19"}, + {file = "coverage-7.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12394842a3a8affa3ba62b0d4ab7e9e210c5e366fbac3e8b2a68636fb19892c2"}, + {file = "coverage-7.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b6b4c83d8e8ea79f27ab80778c19bc037759aea298da4b56621f4474ffeb117"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d5b8007f81b88696d06f7df0cb9af0d3b835fe0c8dbf489bad70b45f0e45613"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b57b768feb866f44eeed9f46975f3d6406380275c5ddfe22f531a2bf187eda27"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5915fcdec0e54ee229926868e9b08586376cae1f5faa9bbaf8faf3561b393d52"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b58c672d14f16ed92a48db984612f5ce3836ae7d72cdd161001cc54512571f2"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2fdef0d83a2d08d69b1f2210a93c416d54e14d9eb398f6ab2f0a209433db19e1"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cf717ee42012be8c0cb205dbbf18ffa9003c4cbf4ad078db47b95e10748eec5"}, + {file = "coverage-7.6.4-cp312-cp312-win32.whl", hash = "sha256:7bb92c539a624cf86296dd0c68cd5cc286c9eef2d0c3b8b192b604ce9de20a17"}, + {file = "coverage-7.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:1032e178b76a4e2b5b32e19d0fd0abbce4b58e77a1ca695820d10e491fa32b08"}, + {file = "coverage-7.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:023bf8ee3ec6d35af9c1c6ccc1d18fa69afa1cb29eaac57cb064dbb262a517f9"}, + {file = "coverage-7.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0ac3d42cb51c4b12df9c5f0dd2f13a4f24f01943627120ec4d293c9181219ba"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8fe4984b431f8621ca53d9380901f62bfb54ff759a1348cd140490ada7b693c"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fbd612f8a091954a0c8dd4c0b571b973487277d26476f8480bfa4b2a65b5d06"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dacbc52de979f2823a819571f2e3a350a7e36b8cb7484cdb1e289bceaf35305f"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dab4d16dfef34b185032580e2f2f89253d302facba093d5fa9dbe04f569c4f4b"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:862264b12ebb65ad8d863d51f17758b1684560b66ab02770d4f0baf2ff75da21"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5beb1ee382ad32afe424097de57134175fea3faf847b9af002cc7895be4e2a5a"}, + {file = "coverage-7.6.4-cp313-cp313-win32.whl", hash = "sha256:bf20494da9653f6410213424f5f8ad0ed885e01f7e8e59811f572bdb20b8972e"}, + {file = "coverage-7.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:182e6cd5c040cec0a1c8d415a87b67ed01193ed9ad458ee427741c7d8513d963"}, + {file = "coverage-7.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a181e99301a0ae128493a24cfe5cfb5b488c4e0bf2f8702091473d033494d04f"}, + {file = "coverage-7.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:df57bdbeffe694e7842092c5e2e0bc80fff7f43379d465f932ef36f027179806"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcd1069e710600e8e4cf27f65c90c7843fa8edfb4520fb0ccb88894cad08b11"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99b41d18e6b2a48ba949418db48159d7a2e81c5cc290fc934b7d2380515bd0e3"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1e54712ba3474f34b7ef7a41e65bd9037ad47916ccb1cc78769bae324c01a"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53d202fd109416ce011578f321460795abfe10bb901b883cafd9b3ef851bacfc"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c48167910a8f644671de9f2083a23630fbf7a1cb70ce939440cd3328e0919f70"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc8ff50b50ce532de2fa7a7daae9dd12f0a699bfcd47f20945364e5c31799fef"}, + {file = "coverage-7.6.4-cp313-cp313t-win32.whl", hash = "sha256:b8d3a03d9bfcaf5b0141d07a88456bb6a4c3ce55c080712fec8418ef3610230e"}, + {file = "coverage-7.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:f3ddf056d3ebcf6ce47bdaf56142af51bb7fad09e4af310241e9db7a3a8022e1"}, + {file = "coverage-7.6.4-pp39.pp310-none-any.whl", hash = "sha256:3c65d37f3a9ebb703e710befdc489a38683a5b152242664b973a7b7b22348a4e"}, + {file = "coverage-7.6.4.tar.gz", hash = "sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73"}, +] + +[[package]] +name = "coverage" +version = "7.6.4" +extras = ["toml"] +requires_python = ">=3.9" +summary = "Code coverage measurement for Python" +groups = ["test"] +dependencies = [ + "coverage==7.6.4", + "tomli; python_full_version <= \"3.11.0a6\"", +] +files = [ + {file = "coverage-7.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07"}, + {file = "coverage-7.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c8b95bf47db6d19096a5e052ffca0a05f335bc63cef281a6e8fe864d450a72"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ed9281d1b52628e81393f5eaee24a45cbd64965f41857559c2b7ff19385df51"}, + {file = "coverage-7.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0809082ee480bb8f7416507538243c8863ac74fd8a5d2485c46f0f7499f2b491"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d541423cdd416b78626b55f123412fcf979d22a2c39fce251b350de38c15c15b"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58809e238a8a12a625c70450b48e8767cff9eb67c62e6154a642b21ddf79baea"}, + {file = "coverage-7.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c9b8e184898ed014884ca84c70562b4a82cbc63b044d366fedc68bc2b2f3394a"}, + {file = "coverage-7.6.4-cp310-cp310-win32.whl", hash = "sha256:6bd818b7ea14bc6e1f06e241e8234508b21edf1b242d49831831a9450e2f35fa"}, + {file = "coverage-7.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:06babbb8f4e74b063dbaeb74ad68dfce9186c595a15f11f5d5683f748fa1d172"}, + {file = "coverage-7.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73d2b73584446e66ee633eaad1a56aad577c077f46c35ca3283cd687b7715b0b"}, + {file = "coverage-7.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51b44306032045b383a7a8a2c13878de375117946d68dcb54308111f39775a25"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3fb02fe73bed561fa12d279a417b432e5b50fe03e8d663d61b3d5990f29546"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed8fe9189d2beb6edc14d3ad19800626e1d9f2d975e436f84e19efb7fa19469b"}, + {file = "coverage-7.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b369ead6527d025a0fe7bd3864e46dbee3aa8f652d48df6174f8d0bac9e26e0e"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ade3ca1e5f0ff46b678b66201f7ff477e8fa11fb537f3b55c3f0568fbfe6e718"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27fb4a050aaf18772db513091c9c13f6cb94ed40eacdef8dad8411d92d9992db"}, + {file = "coverage-7.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f704f0998911abf728a7783799444fcbbe8261c4a6c166f667937ae6a8aa522"}, + {file = "coverage-7.6.4-cp311-cp311-win32.whl", hash = "sha256:29155cd511ee058e260db648b6182c419422a0d2e9a4fa44501898cf918866cf"}, + {file = "coverage-7.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:8902dd6a30173d4ef09954bfcb24b5d7b5190cf14a43170e386979651e09ba19"}, + {file = "coverage-7.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12394842a3a8affa3ba62b0d4ab7e9e210c5e366fbac3e8b2a68636fb19892c2"}, + {file = "coverage-7.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b6b4c83d8e8ea79f27ab80778c19bc037759aea298da4b56621f4474ffeb117"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d5b8007f81b88696d06f7df0cb9af0d3b835fe0c8dbf489bad70b45f0e45613"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b57b768feb866f44eeed9f46975f3d6406380275c5ddfe22f531a2bf187eda27"}, + {file = "coverage-7.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5915fcdec0e54ee229926868e9b08586376cae1f5faa9bbaf8faf3561b393d52"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b58c672d14f16ed92a48db984612f5ce3836ae7d72cdd161001cc54512571f2"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2fdef0d83a2d08d69b1f2210a93c416d54e14d9eb398f6ab2f0a209433db19e1"}, + {file = "coverage-7.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cf717ee42012be8c0cb205dbbf18ffa9003c4cbf4ad078db47b95e10748eec5"}, + {file = "coverage-7.6.4-cp312-cp312-win32.whl", hash = "sha256:7bb92c539a624cf86296dd0c68cd5cc286c9eef2d0c3b8b192b604ce9de20a17"}, + {file = "coverage-7.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:1032e178b76a4e2b5b32e19d0fd0abbce4b58e77a1ca695820d10e491fa32b08"}, + {file = "coverage-7.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:023bf8ee3ec6d35af9c1c6ccc1d18fa69afa1cb29eaac57cb064dbb262a517f9"}, + {file = "coverage-7.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0ac3d42cb51c4b12df9c5f0dd2f13a4f24f01943627120ec4d293c9181219ba"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8fe4984b431f8621ca53d9380901f62bfb54ff759a1348cd140490ada7b693c"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fbd612f8a091954a0c8dd4c0b571b973487277d26476f8480bfa4b2a65b5d06"}, + {file = "coverage-7.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dacbc52de979f2823a819571f2e3a350a7e36b8cb7484cdb1e289bceaf35305f"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dab4d16dfef34b185032580e2f2f89253d302facba093d5fa9dbe04f569c4f4b"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:862264b12ebb65ad8d863d51f17758b1684560b66ab02770d4f0baf2ff75da21"}, + {file = "coverage-7.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5beb1ee382ad32afe424097de57134175fea3faf847b9af002cc7895be4e2a5a"}, + {file = "coverage-7.6.4-cp313-cp313-win32.whl", hash = "sha256:bf20494da9653f6410213424f5f8ad0ed885e01f7e8e59811f572bdb20b8972e"}, + {file = "coverage-7.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:182e6cd5c040cec0a1c8d415a87b67ed01193ed9ad458ee427741c7d8513d963"}, + {file = "coverage-7.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a181e99301a0ae128493a24cfe5cfb5b488c4e0bf2f8702091473d033494d04f"}, + {file = "coverage-7.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:df57bdbeffe694e7842092c5e2e0bc80fff7f43379d465f932ef36f027179806"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcd1069e710600e8e4cf27f65c90c7843fa8edfb4520fb0ccb88894cad08b11"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99b41d18e6b2a48ba949418db48159d7a2e81c5cc290fc934b7d2380515bd0e3"}, + {file = "coverage-7.6.4-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1e54712ba3474f34b7ef7a41e65bd9037ad47916ccb1cc78769bae324c01a"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53d202fd109416ce011578f321460795abfe10bb901b883cafd9b3ef851bacfc"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c48167910a8f644671de9f2083a23630fbf7a1cb70ce939440cd3328e0919f70"}, + {file = "coverage-7.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc8ff50b50ce532de2fa7a7daae9dd12f0a699bfcd47f20945364e5c31799fef"}, + {file = "coverage-7.6.4-cp313-cp313t-win32.whl", hash = "sha256:b8d3a03d9bfcaf5b0141d07a88456bb6a4c3ce55c080712fec8418ef3610230e"}, + {file = "coverage-7.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:f3ddf056d3ebcf6ce47bdaf56142af51bb7fad09e4af310241e9db7a3a8022e1"}, + {file = "coverage-7.6.4-pp39.pp310-none-any.whl", hash = "sha256:3c65d37f3a9ebb703e710befdc489a38683a5b152242664b973a7b7b22348a4e"}, + {file = "coverage-7.6.4.tar.gz", hash = "sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73"}, +] + [[package]] name = "cycler" version = "0.12.1" @@ -1188,6 +1315,21 @@ files = [ {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, ] +[[package]] +name = "pytest-cov" +version = "6.0.0" +requires_python = ">=3.9" +summary = "Pytest plugin for measuring coverage." +groups = ["test"] +dependencies = [ + "coverage[toml]>=7.5", + "pytest>=4.6", +] +files = [ + {file = "pytest-cov-6.0.0.tar.gz", hash = "sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0"}, + {file = "pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35"}, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" diff --git a/pyproject.toml b/pyproject.toml index 4348f64..5ae81ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,4 +42,7 @@ addopts = ["--import-mode=importlib"] [tool.pdm] [tool.pdm.dev-dependencies] -test = ["pytest>=8.2.2"] +test = [ + "pytest>=8.2.2", + "pytest-cov>=6.0.0", +] From 1a81ce32017ad095866364daa3cf1b5796e2dc3d Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Thu, 19 Dec 2024 14:50:10 -0600 Subject: [PATCH 40/44] use dicts for better caching --- src/innov8/components/intra_sector.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/innov8/components/intra_sector.py b/src/innov8/components/intra_sector.py index 38a8810..7102b30 100644 --- a/src/innov8/components/intra_sector.py +++ b/src/innov8/components/intra_sector.py @@ -8,8 +8,8 @@ from innov8.decorators.data_access import callback, data_access # Store intermediate values -corr_table: pd.DataFrame = pd.DataFrame() -price_table: pd.DataFrame = pd.DataFrame() +corrs: dict[str, pd.DataFrame] = {} +prices: dict[str, pd.DataFrame] = {} threadlock = threading.Lock() @@ -47,7 +47,7 @@ def table_info(): @data_access def calculate_table_data(data, sector) -> None: """Calculate intra-sector data for `correlation-table`""" - global corr_table, price_table + global corrs, prices # Filter by sector and select necessary columns sector_table = data.main_table.loc[ data.main_table.sector == sector, ["symbol", "date", "close"] @@ -64,13 +64,13 @@ def calculate_table_data(data, sector) -> None: ] with threadlock: # Pivot and calculate correlations - corr_table = ( + corrs[sector] = ( sector_table.pivot(columns="symbol", index="date", values="close") .corr() .round(3) ) # Get prices of tickers in sector - price_table = ( + prices[sector] = ( sector_table.drop(columns="date").groupby("symbol").last().round(2) ) @@ -90,9 +90,9 @@ def update_intra_sector_table(sector, symbol, _): calculate_table_data(sector) with threadlock: # Filter intra-sector correlation data - filt_corr = pd.DataFrame(corr_table)[symbol].drop(symbol).to_frame() + filt_corr = pd.DataFrame(corrs[sector])[symbol].drop(symbol).to_frame() # Filter intra-sector price data - filt_prices = pd.DataFrame(price_table).drop(symbol) + filt_prices = pd.DataFrame(prices[sector]).drop(symbol) # Combine into a single table table = ( filt_prices.join(filt_corr) From da63b47c78366723d5060e90adcf4ce0c85972d0 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Fri, 20 Dec 2024 20:53:42 -0600 Subject: [PATCH 41/44] update with fixed dependency --- pdm.lock | 11 ++++++----- pyproject.toml | 7 ++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pdm.lock b/pdm.lock index 863ec7e..86c4616 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:ed52893c498030e96726c49d145e593750e21c987eec946e351c499109f66903" +content_hash = "sha256:7d0fb56d3b1ab9890d191400cd0292ca78dbdc71c7a88b86b9534247df9afd03" [[metadata.targets]] requires_python = ">=3.10" @@ -386,10 +386,7 @@ files = [ [[package]] name = "dash-bootstrap-templates" -version = "0.1.dev109" -git = "https://github.com/mayushii21/dash-bootstrap-templates.git" -ref = "cdbb4b28c8aa97f44fcc76085639d1a26d3cc247" -revision = "cdbb4b28c8aa97f44fcc76085639d1a26d3cc247" +version = "1.3.0" summary = "A collection of Plotly figure templates with a Bootstrap theme" groups = ["default"] dependencies = [ @@ -399,6 +396,10 @@ dependencies = [ "importlib-resources>=5.1.0; python_version < \"3.9\"", "numpy", ] +files = [ + {file = "dash_bootstrap_templates-1.3.0-py3-none-any.whl", hash = "sha256:bb49a57d4a4331d0e610c87fcfb3fcbab4d015b5361f2fa58dce0bf1213ffc7c"}, + {file = "dash_bootstrap_templates-1.3.0.tar.gz", hash = "sha256:a704e71b45bb9443e6ba7851ceef33d220b6decac5c344fff41b52d928470877"}, +] [[package]] name = "dash-core-components" diff --git a/pyproject.toml b/pyproject.toml index 5ae81ce..b749e16 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [ dependencies = [ "dash[diskcache]==2.16.1", "dash-bootstrap-components", - "dash-bootstrap-templates @ git+https://github.com/mayushii21/dash-bootstrap-templates.git@cdbb4b28c8aa97f44fcc76085639d1a26d3cc247", + "dash-bootstrap-templates>=1.3.0", "dash-tvlwc>=0.1.1", "requests", "beautifulsoup4", @@ -42,7 +42,4 @@ addopts = ["--import-mode=importlib"] [tool.pdm] [tool.pdm.dev-dependencies] -test = [ - "pytest>=8.2.2", - "pytest-cov>=6.0.0", -] +test = ["pytest>=8.2.2", "pytest-cov>=6.0.0"] From e80a3aaa71efd5bad44ccaeb1e7e7d4a5a961b39 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Sat, 21 Dec 2024 15:16:29 -0600 Subject: [PATCH 42/44] update update tests --- tests/test_callbacks.py | 65 ++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/tests/test_callbacks.py b/tests/test_callbacks.py index a0f0e33..0ce90da 100644 --- a/tests/test_callbacks.py +++ b/tests/test_callbacks.py @@ -1,24 +1,17 @@ -import unittest.mock -from contextvars import copy_context -from datetime import datetime -from typing import Any, Dict, List +from unittest.mock import patch import pytest -from dash import Patch -from dash._callback_context import context_value -from dash._utils import AttributeDict from innov8.components.charts_52w import update_52_week_charts from innov8.components.dropdowns import update_symbols_dropdown from innov8.components.intra_sector import ( calculate_table_data, + corrs, update_intra_sector_table, ) from innov8.components.main_carousel import update_main_carousel from innov8.components.price_card import update_symbol_data from innov8.components.price_chart import ( - hex_to_rgba, - update_indicator_period, update_price_chart, ) from innov8.components.update import update_button_style, update_ticker_data @@ -106,26 +99,38 @@ def test_update_symbol_data(): # Fixture with calculated correlation table data @pytest.fixture(scope="module") -def calculated_table_data(): - return calculate_table_data("Technology", None) +def calculated_table_data() -> None: + return calculate_table_data("Technology") -def test_calculate_table_data(calculated_table_data): - # Check that proper sector selected with expected symbols - assert {"AAPL", "ACN", "ADBE", "ADI", "ADSK"}.issubset( - calculated_table_data[1]["close"] - ) - # Verify that correlation is calculated between all symbols of the sector - symbols = calculate_table_data("Technology", None)[0].keys() - for symbol in symbols: - assert symbols == calculated_table_data[0][symbol].keys() - assert calculated_table_data[0][symbol][symbol] == 1 +def test_calculate_table_data(calculated_table_data: None): + df = corrs["Technology"] + # Check that the correlation matrix is symmetric: + # correlation(sym1, sym2) should equal correlation(sym2, sym1) + for sym1 in df.columns: + for sym2 in df.index: + assert df.loc[sym1, sym2] == pytest.approx( + df.loc[sym2, sym1] + ), f"Matrix is not symmetric: {sym1}/{sym2} != {sym2}/{sym1}" -def test_update_intra_sector_table(calculated_table_data): - output = update_intra_sector_table("AAPL", calculated_table_data) - # Proper table columns - assert list(output[0].keys()) == ["symbol", "price", "90-day corr"] + # Check that all expected symbols are present + symbols_to_check = {"AAPL", "AMD", "EPAM", "IBM", "MSFT", "NVDA"} + missing_in_symbols = symbols_to_check - set(df.index) + assert not missing_in_symbols, f"Missing symbols in rows: {missing_in_symbols}" + + +def test_update_intra_sector_table(): + # dash.callback_context.triggered_prop_ids is only available from a callback! + with patch( + "innov8.components.intra_sector.callback_context" + ) as mock_callback_context: + mock_callback_context.triggered_prop_ids = { + "symbol-dropdown.value": "symbol-dropdown" + } + + output = update_intra_sector_table("Technology", "AAPL", None) + assert list(output[0].keys()) == ["symbol", "price", "90-day corr"] # Define the mocked behavior for template_from_url @@ -140,7 +145,7 @@ def mock_template_hex_color(url): def test_update_52_week_charts(): # Use unittest.mock.patch to replace the template_from_url function with the mock - with unittest.mock.patch( + with patch( "innov8.components.charts_52w.template_from_url", side_effect=mock_template_from_url, ): @@ -155,20 +160,20 @@ def test_update_52_week_charts(): def price_chart(): # Use unittest.mock.patch to replace the template_from_url function with the mock with ( - unittest.mock.patch( + patch( "innov8.components.price_chart.template_from_url", side_effect=mock_template_from_url, ), - unittest.mock.patch( + patch( "plotly.io.templates", new={ "plotly": { "layout": { - "scene": {"xaxis": {"gridcolor": "#123456"}}, # Valid hex color + "scene": {"xaxis": {"gridcolor": "#123456"}}, "font": {"color": "#123456"}, } } - }, # Valid hex color + }, ), ): return update_price_chart("AAPL", True, True, 9, 50, None, None) From 019b1ef065ac06fb814ce7e0914b105e168118c1 Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 31 Dec 2024 13:42:22 -0600 Subject: [PATCH 43/44] delete a few records before adding new ohlc test --- tests/test_db_ops.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/tests/test_db_ops.py b/tests/test_db_ops.py index 40e3218..0084894 100644 --- a/tests/test_db_ops.py +++ b/tests/test_db_ops.py @@ -77,9 +77,23 @@ def test_load_main_table(data_store): def test_add_new_ohlc(data_store): + # Delete a few records to simulate old data + data_store.cur.execute(""" + DELETE FROM price + WHERE (ticker_id, date_id) IN ( + SELECT p.ticker_id, p.date_id + FROM price p + JOIN date d + ON p.date_id = d.id + JOIN ticker t + ON p.ticker_id = t.id + WHERE t.symbol = "AAPL" + ORDER BY d.date DESC + LIMIT 3 + ); + """) + # Store old data count - data_store.cur.execute("SELECT COUNT(*) FROM date") - date_count_1 = data_store.cur.fetchone()[0] data_store.cur.execute("SELECT COUNT(*) FROM price") price_count_1 = data_store.cur.fetchone()[0] @@ -87,13 +101,10 @@ def test_add_new_ohlc(data_store): data_store.add_new_ohlc("AAPL") # Check new data count - data_store.cur.execute("SELECT COUNT(*) FROM date") - date_count_2 = data_store.cur.fetchone()[0] data_store.cur.execute("SELECT COUNT(*) FROM price") price_count_2 = data_store.cur.fetchone()[0] # Check if new OHLC data is added to the database - assert date_count_2 > date_count_1 assert price_count_2 > price_count_1 From 08df4a303753e7ccadabdea130858c4d2f31070e Mon Sep 17 00:00:00 2001 From: mayushii21 <122178787+mayushii21@users.noreply.github.com> Date: Tue, 31 Dec 2024 13:46:28 -0600 Subject: [PATCH 44/44] update pic with markup --- README.md | 2 +- doc/markup.png | Bin 0 -> 906686 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 doc/markup.png diff --git a/README.md b/README.md index 23a6479..c5c698a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
- +
------- diff --git a/doc/markup.png b/doc/markup.png new file mode 100644 index 0000000000000000000000000000000000000000..46b2d44fbce2b4c75c17b01ddfc65a577fa899c0 GIT binary patch literal 906686 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±$0d0M>#m3MbA_yMLii5NLBo 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 z zS#kfMB)4gnYMx)h)nSGZGGVF^*rolr=X=P>_xwUe^)N1Rl8{7i^!`Mh9wX#eQfkB}8$$?8*;Dj%n+%A2LBO2Pt2xADM5?7Wrz{p zl8Rg<3a90Wdn|(y&feik*zdH?(#Z0=S6ay{Bn+1s(^;CFt7HFL(4_hxREjAhIERq# zc}9cxL<6T)hU!fZ^sRdA4B`8LmNhT63Ac2skx2)9D~``Z0`0g&MlBT^)AwIDZmb;N zvr<{T9?A1TxS0J(D<`ak-!EW<9k%jjMH6t{7ekMdx*)g&v3JC=Cfo{ER^u6Lb{X)Y zQ&adTQW$-q@>bkX5hdW0PPUbPyM8uZ=OE=Mfy~*Nurjv}tO*v?j7>FO^f-573gQlO zI7sr2YBF1IH||2sP(HqvF*z%n#R>iNoF^Mlxy!8(0%GOWC#?G(nie>coqBXH&2>?= zDjWSz|4nqgjt78>T*tVoJpVt^wwh0qa&oP|XY`Hd3Yi!-Xt4w>2424GeWQRe!SUO# z*k8_VWO12zPX6w<4)^S%hel~VF_uFb^@F@QW6}!1#b@7-Yor2h?8i>p%VMzy;)Di) zi}mv#f!jT%TH=RkqSfF;_8f}g)`!8nyHcQOTxsFM3wjD_O~C(}s+`F12~54g}+?wPZdpsLpEa17{yy=aj$MB;9StpcaGl+}dasOAc_6s4)VI%~ zm9BcNK9L&jJLBL$^Mkcx?ge)|lW|iaN$2+%J5@EGJce>^{T| z|J;5Mmo@!A{15QDR@{?7*EEIB2x`M4ZNK#BE0y~5< zUZqGUoC9tQu49l^r(g-x7lzBe2iAb(UzOa%SxOdkZufAC%()plAiHG03Yk_c9XN(EOV;ZNeT=*Ev(reT&INz6PbHL$;Pbu-CsG%m(2%59^V zNB?r5Dj;gZQj5gWY=-K2yPzuY!wwAd`Ap0-rkJWa*||dOdc?jv7L`S>l%2VM_-iD$ zOFBZyLodVg5I=J`3gwzg$9lIuZC@d|JH{c-e%f9ZlqA!ttN376qng+~jPVCQrqg}22YPvKx%pccmH=QbqJSnKhsDCox-qx)s$oMzwPz~ZwTZ{h{-vapk|9o7P zzbTIqb|Ip(lZeGVs-*4qN%>~wmcp|j4v*f>PV98h;0SxiT@yEBRNg~d)_}%&!{m|e zk%yqkM&QF~idOx*lC}puFt@FQ)9$d00rmgQmVZj$mb6o;TwL$1G&bZJk30n@RNPv( zoTG*YC7^I=e`TCYf=*(6)*VJdm`pgyLJ33;D*j!S&q+W{t>Qr4>yIm}Q%Z}5NI1mv zIl1`zHm8Y?mWhbXx~0&eN>#^5A;rh-NkZYLOYtM~(t#zZHz=OS}%iY7QgohI!tRgS0 z=yA^wYhNi_%dQ>U5e#50zEq{&#^W36_jS3L6pW6V>1+knFgW2ak2qzg>66ckxfUP_ zD&zT<=aJg2M6bxCsx92LL>g?6wY_|vw%zD)<05m|hFln31cnH71PgUVgJxaD|FbmV zWMNliXne4t@1%MC?}S^i)A8>?eSW2FB9&3QpbD8---}S2U&dxjl@r?T$#){{-t6pg z8~<C$a3jrLX`cqTGlwIGrDUgf(4FY1w`!{_!k0&ThKk2>8$qd0)0KW3!Yy5u<}KK zJfzTFYSdsCyig?jgc1)y3o#CiI0JJa0=_qfbfJLM(DPg3)DC(@gp}kVI~Pfl zFFrCHh?3WP?E5YY)ZB-3s!|lN>%X1#@`e9jf?hL01PsvsKKs&I9ppIMM|?xSeM|OE ziiUA*LiKIQGHuJUV@VzGAf(bkhs7XmpDP}O?LYMP)yl%ZQ>r59v4kTUD8jH|g%5YY zDk*Z~!E2LaOSX6UHteB=#Qkg>7>A#G8AgL^_ea;;8LKDTHU(P)2?c$>?=as=3iGGq z+<>&Ax65!2-;Vxv>UmekssQn~U!tt(gH=Q%3Bo4o99`|SHQJhtx`&VWqFJ)HQ-XZR z&Cw+H3pBJL+lTDt4XPrBU}7aFaT8|Qe(WvIem0dZ^Ssv!W|5T z#<4O-q*61~Ej#1T36>E_76r25k1AobDqROLE@-<2DsAmK$@Bki>C62SiiPU;CWFva z93;`G>7B{eY924SNAtPiM;YuEbBFViporjvi@5So3Q&GQtWF}dnt!$Rv9j|=fc$r^ zsNwB7@zoJ%cA(`jX3!akQaD$-ob39;?a?oOV{anX!fYcIVQ9B~%o6vG-oMpVgxyt<-} zyj8Q2Em0Gjvs)&r{c^L29xw<6yCg*$ODGnHRAVAQ314|A$0?4KEpr?%RiEAx#Un%erG`-VbsW zkfG?a9`DieF5Rq$N{?OX)g%(C5*_{h9hLF!$Myk8(}2GpK#jQH#wNGT>aJ@&(1s?TZ^>CQrli!7upY% z)>({mZ1Kkd9Am(-<5!dgK}$=FS}DiGrDEASmm9CH$DRM(^Dr*Csl`KeY14&yRhK&W zc22g}_E*fvNC$)YL**C!|AS0Uh~=k6)N1aYf(PPda6vG+ibI5)93G}ftv=}PuP$ip zSmJ2iNxfX+ULJJxWK?Jj;wp$5)a#}=eC*#)fYThgFq`<{7Ee!n4G$c@D~J`huhy{5 zp0~yG1M27C+97`NNx9-)_J_D&uR091oLgfK1O<3m>uk&SPL4DeUmA@55MtwPqGr1Z zreZv=(J4NMeN2emcjgCf95NibHOf);U$n=*@SpfS)h9BnR4}+$PcgR8VIOPu;hEh@ zleYym5qtEAC(Nh7u)?WaXf$QCEllMj{?6vVwh6tW7m=d~oxRZzQbahkiN4EGmFS|q z=B&h1k6s)orzUIn3Wok&;yR6MCf%Z%2&!i#7R?Et^M=C8Pk^Pj&d0Y`TNMMG0v$-5 zWiXnpsORf^#ompkZb)ns;FdJRd$lD4BZ z)vSYUskkJs5dxf$cbMg#wKCc6A;RZr%O7>kg#EOm21-YEl4z96-AX|CUgRLi6J5YL zF6Ibc65a7>G|pub`{JB+PqOUgGPB+~g2GTDA;k9w3K_d4@!zGNlEVYDt|?k{5c{6r ze27(j*Y$*hsz9!*U;|B<6BE7c!qOutGWPFc1g1o1ux5t=?mFof^nZpHnt->}rPNXR zi%3!sO!=@A713PTJn#PXN`LzWn*Ngn?M@-)>bm7(`^65d&~DW=ef zzzHPrSehKKZ2iw-q?wzl4=iu|gIxjIG}i+gxs8@*8bPJ zU@|*ARwDPks%_Mq>)Q1Xw+d#;bpH|!U7P^Zrs*E0hjJDW|z$wGz-c2sGs zzx(O`q-|$g%v)3E_NrIDxp!bA7%IXLilw-rb6@3@N%zWspux3YHaA$snLj5+h0uUs zyN>X)rcpv1b_Uv!1IEe9RWRMcZqqu-yn7gzN0zwwUEkTCFmagT#6%F z*eJWJ#fhk)FV(4l;h;5gEQei4BkR3zh;DIZ3Qp-bsl3uj_NG#L|C9}RwuaMJ13QMv zMFVw%1F=x9!N{cZVRi!k3)&G4%ro*4D+Y=>nXjoSiTO zy^wtUP_L!Yq%{@V>R)**u~=lhc@qarS#B&ck30T8^s!J!{|dR@*uFVF1s)7?>KE9K zEh*>k+MO`8mWjm+<%Oo8an;}+y}TsK9%YJA_R7YuXjs(JAHM=2g9lC%<1lhMm^98# zD-oty?z`TC&-Qn9^9kll36Iw5l`Xty{9R>v)^qlCBDV5`L-iM(4?G7JD>`7nxXe;y z`uLHNcS}96;t5AQqY=KMWZ#Z>K2@pF(7I4rUJpZBLRo5|tiq?AGzwA>K^tXp=dCQ( zrA5*>jccBAT;a^E{$^OZJNn)VGoRDelW2L>m&hJ!5{@oZwmp5cfd7i*O?ko2* zbsP~6Z1eg9$l{@D7xk7yvjfV>>A5MT{*m_o5K~-jv=0~`JA51KiEHM-=e4Nq8;L_% z7o*pdOQ<>XR{NXGf~ragJ?7P4X`Ql+!2L5{U1QTI z2-%)g-O)htGwyZAdWb)(r17T!(J5CXzI{~0E?3}>Hw0ItaViREnF%+ zXBmdfT(C#+-*8KK?&qsSC_n`>OO}8_MnEP`yvo=asI}`+LKO_Jw)bLX(Q9mOl0*lS zcZTwJ-@&VqC4ZSI0`U@ubR{VJV=`B;R>k!9mdL2YRxk9>2vJ|M`y2?6IsW4S)92|& z0GpXk%+&x$9kdz!BWz{-eLKn<@$O~{-;HpdsMPhUJTh-Nw+LM<$2!rPUPyh(AoUJ61L z47U5$!Vev0sW9e#AtgV)@LeV?i4ws&7K;9gL;R1{wVFu6aYezp)9J?JSY zG@}X&sYM;PNaTS`>m(k43#TLaC$H8g`%{3FAuEpIo2-CtA=irF)(=QQ5gZWH%En3e zKw#aqpl5SQpmbZdPnusWART3|V?-h!cm*|?`lAqYLO5bI) zDgr29$W^h{j83#Gb3Rl{tCJ~e-i+iL1Bz>Rhc6t zBIdi)3We@Wb@}SL)->;ztoCVml3TZ{{{>w z)*_hfW7Oqc6^@W4+x|^>83#$ea6$^_d#XPMCNAL-9L8vcr@TT5OaJOFpQ*NrGEnnXqZK1rj9=9N zoawEhOy}!s_4+O+N zx2W4-&bS_!4&&(M(?1N%nU=cIIWejRM}Olw+{f=nakB)@-q~d0pMf;L!AHBGT~kWb zqe{yO2-Y6EItcEUX;PjXok}*CH_TllNCuzj?>)7hLxIl856Z7l;-9!o)AoCkXOep5 zGRdAOix%%cXAQJwaWb4H)!3i#)R_)8O)e_XM$wtLCe@QAw|GiDA<_-nMs`kBTC*b>aM*>DdzKmuq+y_V1w#|HAEmFVK3z@hn_DRC-l#8 zCFJnSa$;y33&UiLM4oXzXVal`j}`+tiP-8}jJ)dD3L0HzaetrAe(Un2_h{VW2;nUM z!EeAk0r5VWLY1_PJ>Vs4<;3PrU7uwIDY;2Gn`!J`y#Q$e03GwTp*K3?_}YRy-^tE* zq1cb|JF+)$#wx>eh9>-A)Sess*mNGBF$^5LxhivVZ`K3#wdsazS_SxR1=RzZj~Ri~ z9~@>qBOpAi0Q4+hiW$Sjk%5A59ZU<+&Q-Wt2cBAh+n6l*7~pIKgp%pl0x3Sg&*!Z< z%vy2$XSJVEwbZsvNhXg`z$4L7x^eM^@N+8Rmu?vglVM5=z=B^Ehb6yZ`#ifHa7~)w zK$&IHM-=%}V8omLU$$ASM9k0*Dec-4;JEf>TEnvH6YVxF`6xS(O{QZz!;uZvx_|Zu zYTB|$;YnZhX3^^c$QAG??OR^PCmfNtw{PF9waiwnDJliX|)hx`&?_lbnV@;^yIS8UoT@dscW76UV1OE}Y@>rKGs z6Y%;rV^5C+8>aK>hlN+&Sye?~iq1q##Y=QB3PS$#_4TXzd0tV`q(T?kCySt(2JG7;Y>-OQ=!v_GTB*2toI+X+LWA2*(WgI{NS=$+Y!=gaoA_UjD+`y* z_yy|dw?4*Bg}oS6SYN|*qke{w)77f1p$r_t#?>R2e;q(qF*lpzH5lie!{)O)_W4(L zQ+v~)R--AHdz_{r%wgR?HW#*vt700Fj3~l#5KLQ&p{7tGJT)(sHyhLguK-)tYq||z zD34a6)<-aUS1sEwPM%>!IHj3GaW)JulG2)WU9robzimR}M#nXaWYRQX`W&j+>2*4~ zccjAq(=cFbgsx|I<}K`-T(X1w2h}c3nQ1n3M{XUz=GH;qaW4JLFLj?!Ks0Mmq0>Eo zoLPnciTV$-%;F7K?!w?7}{@jaPq#A_!WIl~Vb$$z}gx|teRe1hUONg1j4QsK3 z;p58vqTl}Q*bbe0!HQbGVaANBaCmU>=mQ?AQ(}Nq0%Hl8x@SC0d|q?uLJdU(rkWli z=j`Ro_~-K0FoldC9HTBac_5~LM`(W}9s!cbQR?0NI1b4GS*O=By?7pqT2jhHERxAc zIddMGX&ySE2vzLJ^bmFif*XfP2_WoIyqYyNWB(oZtYk0CHh_({qS2y<%giG_g!Cz$ z-FR5c4viuzX{H56Sj($VuI#avmz}|84nyNu*L`gku>d}`A+H{RZ-I?(!RQ3v+cH}C z;G=$V4_^`kZtF)p;xD`{(rzu2hb^+Ui0EzfG)SE(6@F-|7N$At0{& z4Uw*2o^a+H5-Z{7+%-1Fl{Sm|KgDbMUGJIQk!)dq%w$r`8&>R@&(5#c+b@8qLZDB` z4Vqr_m#&=Eb$2V4&Tfr!Z&2EEjDQYd*1ePF`<=yV2q4BloSCgJ(!~oS)juFi?90kR zMuujn%&FJj2o|$J$1o6EB%MG??$%DT+U=PObd=5x+4?2G^AQpUVN;eG?`&$4D4orp z)fS}-^@L0czGrPYNu`*785$iQmtXfjuwVDT5D^C^k^SZW3DpQgQ>ld0kQiRR8FGIBq^O5%ff4*I^tsF20b?bWN$l_iaB z4PldqF3C%GbrPF+-(`Ot|MK-R;$EzVbDAlb1T_4YOaYB$l&%ZMp#JD`xakh7#kU3^ zb}yy7E4;ohJ=ai6C%DOD`U!WPwro>;$O6|hv@ZrPVJ$&9IDP6t{RSUE zPoY?%2fVl{K*0zpV3uKjgu@o?lewP;qSbx6ZfX@ucY)A_dfQw))F} z|5}3PhGXL`MlgD?RXe_{wU+h;{TH<3hjD}15U8aKcl6<}p0tt32fikV zBouII^G=Zkr9n%p#5~|88rf?J#>Hw;%Evpv{fTZd*oxmmZc{ysiN7M$=85^0)_`@B z`74c5yn_ZkpP~2rXbTfvkg=Ij0z6XU2bo?)0wNP|QDu~7?13$2zg9nPzuJSe6e~W_ zeatU)ufMl*K-!0S`Rw}OEwwb1E4ba&eaZ8O&QM7?+l87nEp?j*uByMK>Nom87|K7a z^D|9!KO3Q;u|!v>8$^D`9IypO3rncFZEZtl>{<`n!oaLyU2KcT(c;#)yv3n=U#t@e z`a)wr_Lx64%iScW+_N|Mx?89l{AdVnXq#H;yG1SdR@aOZ8Y>-EKpD;E`xH_%2F{JU zx?$rb*}_pBE>&XujZ?~Hmr zrzH)s=9!!}62q}AdDDpJ$7;kv{cPW?-`WVP9irmX2H1wL*pwLhBH^Z9F35@2Ak`Fb z#$>^>g<$lyOsZ*T;Th5MgiEQM)TfwO_LQL2B(}8_?j!8{lVn}TmCmxsmlk$TP7l~N z8ME@76t>f_1mC@&bGzK=qFCHf@Q+OBR12%+UZPdY`Sk-YM}M$pT1eWt6zWT!$v_#u}py36FzM3G$_tq?^ zmkxPY7zE{_c2K3J_l(9v#<)p~qwT_gKNcdcdL=G<;!J9in317s6zL-W)@HA9Z&2`< z(!Zd4!uw#VU&^#Bh$c)KlxQEZ56fAVwj63#Q4yXg8MAg4y#l0?FwtcgjW&WNnt1c? z*kfZt8)6%t)3R66f}hhmeHYJ(RmP_4!$T5Drf0)hyMJ3nY;Vj>CF#yQXP086Em8JR zU*Umz&D%Kdwwlx0s&wWCI3CUU4n(^gMmboWuj3kj8C2kZwM|9SX0}Y!f|E_C)Dhb3 z?0aVCjaD;u9jz;JgYcfZYlFscZe(Z=rRweQmbqA508i&Zd=FT@QKiMZwt1b(NQc;+ z=`_IX*Py2;u>d4O-Ys7rPP}(U>M4Y~_g4*uY zCLsm1fc0e$c<61N7!D4O=K%0)KRrFi2s+r_4jM24Oy7Z^mgbeM&C72FH8{__Rpwr7 zyQilyOLk5C*y!4}?e9qk8&j9ezr0EQRyUSMG00Nyu+=Zc0Q=Y5n_#CyTwkAPWn+<5iPDu~b?_)Y<`8w3E5LavnZ=8K`WRYlu7mE>l}8E2~Fs?W)0_2`n-r zGniR|^>%8Zb;!_6(ipM{OBE}&BlDiY+|J`U+?G#xhLurtsmj_B-nFzuT`rjhXC^u) zB1FlLLr9cZyzg^Nr)ONo_|Kq?AzsBk-3Vo!z+b4s>F+15y|tCp`}HZBhAFw-fzA2( z`Nl}jDZ#NOD5j>REI)uSVA0w+WGO|rKTqJemM!lH+ysv3Pq)xP?{wyDC^abP2^<3& zLDX#HvG;? zk!ye&Z_rmvrJtVKSxXn8YQ^4cN)#K05>pQE#}y&3>M(n+8I<|&CKbC3hl?ry|?%HP)^%d>Mt7HCR;`Jpq_UlE-VU}5qvs6Z=`5$;~xu6RqfmaC8Y*MwyP z2!Sk$JXYLZgse9dwxk@|6b+yTeng16io%=BL;e=}m)Y}_Gpux@9xt~P&lN>3hz4it zCq19dQ$kXHBfm6L@wecSe2jt{v$FnR_dH*H2g3xA^#d!wbiNmoaPWsLwIiJcWQipx z!q1`y_yuL7f@$~7Zpfnlfa{+kegLq7_?8OQVoczPU!(ZnCSKpV5fb_!d;)PxZ35{P zsfu7Tfugl=4-(!_MFL+FuuIx8HLKSc#7V6{g`gXHj>nHoE|=9sWUorXWUgR;;@`8bQg3nLnG*2G5SDV~%eBEf zHtmRf%ZoxKR^4|S93ljL5zNi0%e~`KREfb2P@>iG?_Jk7bBeBY&0I1Lr@){V7v{>` z#1_?w{*so9S%P!8o5d<1dPAqfSWcvIh@oZ?3=9dpv_$P6^N6SNv1H1DBD|tGM~0&! zwiekK6O^%Fycfx|*bdq%P#O>F%-p_p6=z-v3<(xz+_$&`AFTi#JqnmfgtY%~Cm-IW|)mIoY zdC<_Xr$PYh2H^L?`Se@=gLciF)P+Tpv~DuACSMi`KR^FhxO;kJoM@PU$8A#C>ExFV zK@Shm#TwvDd*HSNaNG$cWqg!yEX&~v{qSpVK@=2}|12{9EhX+97=RIeKL1dOQO?E5 z*^WmMe3uQZ0{0a70(jy%IdxYByx9IrSUf!4u<@>Oz=Gn32f)cUjURL>#VvUTtcF{( zQ>vQRk1B~}8+Ea*(P7O2^YZbTSy_bxe&4Bsk$94-=jT1*B*NZfS^OX#0fB;cYcx4ftV%LpBq-07ufskmE?jx^@Dswnz9 z1eO_Y&bv!jrW@04y^|?Kx9GGfDvT-{=+Bb|0t7a~$Z}^ZE4W2`zH%*~z zPTUX>CG!kNB@xcTh=XR2ZdCL1juH|Ip5lqB@Qu8;S*<105wC_9O(FZ}POXOHMrDbc z2T7r#HFqXbWp_r=ZV5Ud{1e>}DEB#c5JOFymnc++<|11q3$=%wAYo&&)>o3vvR%mr z#y8SCnlHTBWq`O+s27xzD_2c0!|utsfQL`jOz&s-Y-d0A3m5|}xiln$R)!<*9Km3M zeEoqL1!ah(f}=^oc2uJu{1P zrDhIk?$VT2(ABiCH+pN8_K+9UqiQwKLh(nZey0C*R_Bb zcWwJn={w=>TLxTbc2}0AE}AbRN9_9y^XO!a6sm9!xRuMej`~r@28k%TH&*Wv=V@|f zK9l8os$a8*QzIB+j%h9|G>o4X786)I$P~a+10e~@=6Y!ZfQ69#z(};s(&0^(^lbl8 ziZojx4$Kx&i8M?Z!ODtS}+Q7s}^F@!rJ`*Vp8xs)Bu?Jf;^AzBKOc+H8#m(6OB1LR;ce zX!CE>F2izLI&)D93G^7yZehathfW9gwaO=B6~no=EQTr`^-o3pa>1^ew1*q!9d?xY zG9}O|g+>G<>nL#*2i447@c>x+)w zzpaY8%g(1YE7kU@Wt0aJpx5_brPtmac%OW0a%T=qV#sUYvy{RID3mJC*VI$lP>q$` zfK0P6*!aYaKp_ZhP32TPaO11zxA%oZlBSgEBj>6Cj1T^23J$o1)G`kE#NUyii?^+Q z8lNtl*{wa%O$lmvvQ)*={0kF(mn{IUnFBJnZtB#D`wu0n80lZ1hZZdjE4H#Qm8oYb@+mOBCQtdSo^7dpCntQDk{4G2Ij6v!Fupwf>QHKR z)$3YjT;yof)Y);VzB=FX=tr$`7mt&?t_VELgQ%-f=`NNJrET6bhBsbpU4(4Fo9fe- zJx+ED+1S!i!LFpduXa;FBsjO6ilAFZ?@#9;u|#4v<}@1t!9-3l_IQu5(yzYS_7W1v$a5>n zuz1PuJPDm9Hhm)rvG0fBRB>q-g?Od90u*$@kWk=)(By(gFA6tedI;rN!&G(>zy~rW zxcku2Xn3*{<}Ok_>KJem;oUhu^+d2a(fZM*_oIr)B^l5QSzLXo*`xD+L5<_K>!qLR zjpeEAsr1~af(dRFx(8)4^A-PcRXaQscDEp@dd>Swv4&E{~PG`fOW2uVmO0Y%j0 zrj*oMhHXfK!q~+{ybdPKb|BQ(m=o->z@jIt&X0Bf#UE=%>fzr~8Dx2Ys|fV~~3^+E~$L zLk+TI)q0hW@gErHLvRCdw22rPoGXpOcH`t)_~J*@o*CTn&X`Ou^P^2P7EueY`Bp!@37wh`CY;7# z?EB9j(=3`x->5?Z8C<8?Ar5R1R{Se)VZVaXJ`T*As#>QtaxN&`?GDo}AY98TzBXku zkuf#x0ZM8pq%M5_fwFgzGMJxo=PLcQ8p+Ym(&PFNe=G^m^?O$pJ_yA&eJ$@ z-CpySaqCF4Ke=bZm z>6NLRbLCFzF=iFx6hgD@mUgG&gSLU9bapChw+vTm%kSJ~BTdPQY?kNNfA4(48E|6L z6BXGCsi{cJ1uG+N$^lF#TVwX;3g4199y793sQE}jXfVBSd+Fur?x248xlj1{13(KI zM**z?FkrEzL*g7{#Y6g2%G$bWgp{)kI2f@3f+Jv46e3bK+lwdOgxfWGC6|2v5s}*5 z?9ckkH^1B4yB~^Ho@a~8%an@hI9Cr1M|_a<@h<>ayQHuR2*?2oJt3i+a%Fs9fYxtO z9YQ-w;kXIUup}ffLM)p|1~8wm@0}rLBZX&vrcosNNIN7*x3`0*i0NwlQ#)a zST za0GwXKx0Vr3%K!i`MqV})h5K?bs{o9kPM#F@7&AS5pRPS>ECF~zuK)oCiMLb zblHuqv}+@IJ0}>}ixx@ua@(6)`G%M#280^A`adjcY3CzmU)syP-j$Puc1D_!__o*D z!OuB=@*>W?W~@EI)xK;1%BpJH1GnC0bjf0kHai_~HPYtNnv3(+ENhnu^;elwdP*}j z)!>=LSVdSVxD}MOUuHWSRAoR4zF|lTdA(1<$8y*W*IuMiRcIj!^voGug=Ed_If8Zl zCGVR$JDKM>DeC*3(hGdE-P57LaiHfC*NKj89r?}~e0wBP27?70TT^G-l8rI=Z{t**myubIONPDnaa@+x9<+a!N9$V{U| znB1M2^6@WxdkQ(=HT9KCH|TfT7$9PTq#ZPWlByVq)Eo20j1fug&V>#4xyb$jsbORw zKEB>6Yvf{#rVU=LeVOHVY3Oq0=-Bc{UYMOw@91$}FIdrMp=9cPpW2t;losNLp+}EJ zt32RL6-SxmN|jA%+ae<#$;`>& z$Wmg7_l`z8aOZ6cMFSiW@Q?s9l$+AvG%rW~3U@sAUz;OF!J6twR5#3YHnDh2|9THc0fVgT6j3%$GWzBDgy zvn2#gCNTu4d;#VzeO5VsQa_7;gz%+qQElJ%`8vJ-6OdI#YInA_paPYOzm>9+#2>iv z170wESxQ*JR`{hOW;G@?I*i01+dIR5c1=RB_vS)R#~e#pD0PcO5I^kSve|Sh0W`Xe z(po~?oWK#tu}aBu`DRJ5#^m75RP}tDiTFn0Wl@n~<&y($RQxkiTiSZddn+2`oeNij z`e*E$dj$2Z_}po-{P#V%^}Qnub!OZbc!y-v%{8CZRhoGP0=>7}J+qO~Gws38$)l62 z@BhM{=Nk3cJ`-NcaYq>8mra&AHWB&%$M`&>zsG`VU#n*i+a6_~gxqD?)5=laanB!R znO^aI2IAbLLamv6LdSo0rT9z$Y=;EDtY4v@F+oUL)}Gft7mcb?8B)-Bke&ngv5z^G zzko+|;sS}9wE|1yR+gY0qae+C(v$OIuD{XQ z6mp2K_R?wt+}A=zb?SFN@RkOhXl$=WmC~%?GQEd11Ow=CiJlTA1iOj`tSmB@nfsIm z4_=u@zVTZ;-3{NKidk{Po!uvq-SIU?2`tzS}TV>qg1Ueh=9eJDEp{EIKA)IjH?x;ae54Sl80MFa>c z@@z^X8czhQlvbVx{L5Dk@c@E$JZ3bh(&s6!?u%`+!C|w(az^}p^bcMN^93fMUZa-< z8EVICVz+1JK(OBli#gn(WuWhg_wM6?uI=3rh)4iB$b^N{;udL;iV7a)D1(?NxS^)}k%e z#ctauqD`(Nzi91D;L-`tOXJ^z7A{>4w`awabJTbd6~S900}^pLvrUZmmvyC50C1C| zP^#q_>tET!rIXT)8raD|9vFDwHADI$iN%?vL_3<_Y8W!**$>2uqa*5>V6m0ej+au~ zs+dInXoo8!&J?huk`-|4KHnL}1f)KYRX9*J{%NW3Nj+Og&?v0;_4jXLUeKKfV5CH* zsD3Fq0Te_eRjUDW!>ajc2M|=25^e_7N(Ts4lUh-IB)=Q4&R~Lf=qr!dH<#)FkvW?@ z0v>xN|_qT{-*0FkEU?VfmHb|RGZKM!1-?aH2K04rJP^vh5deoAKPyblIG z!o>yK)dLYFuzf?o|2dsXmWM|Gh;=7#Z#lqvJm4+xz-{E=0lyjy)V@0$(pFauGhIvQ zArOeFf;FH_CDcN1?R0P|K0IH6A7}y|(gb|(6JSwE7*{mQ%edmm zM3Jwbu$NZTJ#uTWv1J$c!S}A|aaso0LPi?M=m^MJ%&0`dJ{Yfq$cU|W?mBt=B5wTC zfh+1ceze_@tFNX|$kTZPlC&K<_1af%hK}}S=;X39?tx_YH>)g`ql<{{-Dc>1FvF+= zuDy`H#!3VoApwEE$05qX_~LF^-RC2=e(#cBuZAJ?E}K4FZC8RO%Qpr_#VNMbX^8DD z-)udZ%jO;ZKHfZT__?lkjP@VVy69%-&pz2~G`Dn~p=Kz-jV`y~2v@*OLYo=saH*Mz z>uSR=mmym%EKN5*YL02si=pLx+YL+>#AwCKj@X8$#*B<}Yh3DkOnBgc=Bbh?|FVA= zK02=^q8BL*@v=+bg`ueB`h8UdZeWO&fpLC6LMzwt*S%BtZhL9rwREAXa-S)SH?5&# z)VmK`G_`!EXQ73X&^?~)g57ekI<0_+iq40tkRdyjejONN?541Hwa`au1s0v3v63E7 zlN?VTdRV(J;bm+^!|;**vP5}^Nl>103Bm!8LdXCoAHqb~S2kmG{E;3}Jqq&`DW{W>So<`7 z+#=HNr{+&9_-O~xD$G?nzX+>Y8%b49qh2?ZE0~{Y7k4S%K87sy6mBtjwv0w8k@3vE zY}Tc|b>Dw*+rG3u?s^Zl8`%9qO5Ht6(?`UBtpv@w$TN{@ds)-Qg+pimOhkk#?4^Jn z>|x_hBj2W`4G~cpu+C+b%NDUlwq#}W-C#t2O)tzmb)!99H9MA9n!x;miyJb4Di z+wLM%b*1ZWNa*F|XKSTn{#}W5W_93nb%4lMqV|n#8XxVGm1?!mBU->K9PrAD?=dFL zc=q$$TS-rWfOnbPAM74;r?-f=YyI1dG}sxu6Wm4 zcKygH6h2`BUvt&$L}%tRo==!pSPGC}ikYxyZDpDN`~)XfV&FCar~A{{*ayc2=i`m|WDEHb5bsIs-+AvyiYDp= zU)3nr>Op`)@mP`i1Q?tKNhqSTPF2N%5q`a=EOJ>Rij@N3!x-Qx$4>sQ4Y7|GcNsTD z{%cYiAwgxWm+{|Sxfg#nW1tl&>W;*m@x&wAD|NG@c-CgK19E&Fb73(y^Q#!}GLCBR z{sb?Z$hhhPRssVgMaOoy*6sj@KVzInNGNWz2bb4UH?inIt)2IW0vvfl5&WtWtaj>- zS7ymyo(TZS|2yqcwH}LJmC|KYLYLf3(NkV`@XMV!Zgd ztaj!-bKKy?YqyxtxxeRr0=~U#2z0UBCNvw_Ww6tKo3;M0So<$q{X0kHVaKazE(X@& z<#4ar($sIFL6rnZ@NGJLc%Pt2w$ss!d_scegWqYGjVwa#A*PN*&j;DK-7)&^O5JG{ z_40@3*GnuYtKHi5R@Oi#XR{r@C)T{=v|L&xZ@a?xe!>m;_GIw{vbL6$cU?KB^S@7a zx=nC;jbP;+0<+{Ys-DraVdiT7LAT9++G#`yv|QNZ&O&2=b)6AtqeiVnFss_%j0sXg zY(2sI)QWP}zUzxTIdoq0>DVkClV`}8KJIsjWzO=l4C7F;wUa{owk&m#z*QVuR9)B# zl|gz)WgSs!cGmP1{gA>JNU{J_hRHM%M|0?Em%Ix^KC!K(f4TJ%KnNQLYkTfj%jT=OfHo&_Ub zyxyqxpJ6!7sg+dIexRXvu2A&6o(jCwzJr^{Lq#@&`XV5CZRLTd7P(WExsF)%P-Bt9vcv37%Gj_-T4QORQTft0O) z%3XN_BMxF*wh-W@$esf}xO-yTIX`6vfI6UUpb9?+-ucu09E%RFWuzNT%<2hz`SxL? z)*$NNRb+&uS;#04VDbr{X->cs9Ox2GR02@BQB`>9KfPq}0be;sXaKKo-~p!TY-RIw zwGEJaCzME8vy^^-A%MK1S20)1_%mim!0Q8_RqbR+rLcVE|1$l?3rBJzVvn;whl{G zlh{&0|Lt;>dY}Xy<-y3Blcm|z=w+#de_w~v1qcE4Ss#GoNT=>#vh^v0y zwF?N5CGmc`3u$jhQa#Vk|C-XNXPq^tSAR6BH6dV2uzuKeq|?SofOdA?Qv;XX`z5B9 z*~=<^=XQR7UF8h^S6cPDN+paG|qn@5*8RdT^T%H6HP>_!M{DnRCo)tV3UGS_PWWW zBg0=gyUDpD{>46mI-Yg$^4gg7A1l^v1mpg#_3 zL72En@G5EG?_w>5?Nv+Ifx0rZ3-YY#IvI;rK%33NRI)PXuDRl{>O{fD_vFkdEAlc5 z@J%H@_O}A~=?OE)Y5qHgG|M(90u|dyC9$uC(CB{&3TCAAbbYm4?AI?5ugYnWk47~& zlism?JaA+Crk}prw$P_s-3DS_rKPb7iKbi`Mh%JnHS!`YO8M^nyLYk@q8gu@PRRl~ zP#l4vJYy-_{ch*1p^q)-;D6U{)xYQHZrx$8zub65{}Qp>AJq`y%#{J$J8Mstp6jz` zv20V$wHP+Kw!>GMfC!ikQBC*($;`}Ttu&yy8VJ7dj43sX5!JjPM{6Gn@3vs?@#%7_ zYLmsv2@6BbntkfS15Cf8qY(jKF6$luwet|X=%&>HmQ92MD4GH`6r)4QR$6FbiS}t7Qa)&JZ*>a>mit?d@&aObK}M4LQKkY{%=>e{F_^V$Vl) zbNvhYOa4*&VN3-mR!Rp5hspEPEBgFDxC;Y?LFTiMODpS3&UWZpA62GG^{t~zYV|-3 zPjvppqpz}?moEfhH1#!&Z%v&`dk?Fe&g-)XJ)_mj)`*GsVy}?t^L@_ec|iL zOITp-V_Ugncb-G zh$3c;d?yxN^#^Z@x3oVQ*OO5-^O_6oU9swQ(_DLN9wsFEM1d^{W-z&gMLRj;jHRLZ zaIyB!&2E#@rMPACtIk$l+qBgq^%}wxQqq4;>oD|RJgtSx zCLPT*<1+K)D_A)BHN)%T`;i8cfNQ%9->($m#|W$AQH=yo6uB)Su#0@vyBzo)1AY3C zfCetrb5TAS*nouxoyU}Fn8b#ICx7yVz(gnxYWRxAL=ijt0W)#gIAP@h!N-a8;H1C$ zpt3thcn~#bLz#37OoH*r3h=X>GgS{w7f$o4oK>CJ%dyAXyfg5mv74Xcod-sMO@GNM`C1x0;gE-r;%tzP; zblGg;8$i$=7|AEER!UEsrnJl`Pt6Q{`wv*#DioFnh&%Wc%Hp-mWvrW}kQN8gH8X{5L-=tqc;X zly@c>%&)CozBDLa5f&Y|4kX`rPK4RGs&jg+-hoLuy~zpwNk{*8`oc%luBlZsYiLdQ z!Y`02B)Iv0kV_7?UkhlN?g`eRIWZvrv}#Z;z##dk$qCJ8(^8SzDfNAdH=DG;gz;4_ z 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
    m7!*>ps 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�m5nl`$wT=%x&Y5?W!liOF4gQxiLDBOU=<(R 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

    _{vVDF*yC3`4PXi)mn1-F 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%0AJ;BK~_Ll<2NWJZIl4Q{`@q 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 KQXV31) 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 z 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