Merge pull request #14 from PR0M3TH3AN/codex/create-validate_series-function

Add series validation for Bitcoin chart
This commit is contained in:
thePR0M3TH3AN authored and GitHub committed 2025-05-31 12:56:27 -04:00
commit be4256f2fb
1 file changed
+16 -1
+16 -1
View File
@@ -23,7 +23,12 @@ import pandas as pd
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
# IMPORTANT: use the package‐qualified import # IMPORTANT: use the package‐qualified import
from scripts.common import fetch_series_db, save_figure from scripts.common import (
fetch_series_db,
save_figure,
validate_dataframe,
validate_overlap,
)
def fetch_series( def fetch_series(
@@ -40,6 +45,15 @@ def fetch_series(
return btc, m2 return btc, m2
def validate_series(
btc: pd.DataFrame, m2: pd.DataFrame, btc_name: str, m2_name: str
) -> None:
"""Run basic sanity checks on the two series."""
validate_dataframe(btc, btc_name)
validate_dataframe(m2, m2_name)
validate_overlap(btc, m2)
def plot_bitcoin_m2( def plot_bitcoin_m2(
btc: pd.DataFrame, btc: pd.DataFrame,
m2: pd.DataFrame, m2: pd.DataFrame,
@@ -129,6 +143,7 @@ def main(argv: list[str] | None = None) -> plt.Figure:
end_dt = datetime.fromisoformat(args.end) end_dt = datetime.fromisoformat(args.end)
btc, m2 = fetch_series(start_dt, end_dt, args.btc_series, args.m2_series, args.db) btc, m2 = fetch_series(start_dt, end_dt, args.btc_series, args.m2_series, args.db)
validate_series(btc, m2, args.btc_series, args.m2_series)
fig = plot_bitcoin_m2(btc, m2, args.offset, args.extend_years) fig = plot_bitcoin_m2(btc, m2, args.offset, args.extend_years)
save_figure(fig, args.output, __file__) save_figure(fig, args.output, __file__)