From 165bd22e10942a5ce7f1703b0a0c8c8fd3b2c17c Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 11 Sep 2025 14:10:14 -0400 Subject: [PATCH 1/3] add metadata runtime --- pymetrics/summarize.py | 13 ++++++------- pymetrics/time_utils.py | 10 ++++++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/pymetrics/summarize.py b/pymetrics/summarize.py index 65efc2e..1b0d567 100644 --- a/pymetrics/summarize.py +++ b/pymetrics/summarize.py @@ -7,18 +7,13 @@ from packaging.version import Version, parse from pymetrics.output import append_row, create_spreadsheet, get_path, load_csv -from pymetrics.time_utils import get_current_year, get_min_max_dt_in_year +from pymetrics.time_utils import get_current_year, get_dt_now_spelled_out, get_min_max_dt_in_year TOTAL_COLUMN_NAME = 'Total Since Beginning' ECOSYSTEM_COLUMN_NAME = 'Ecosystem' BREAKDOWN_COLUMN_NAME = 'Library' BSL_COLUMN_NAME = 'Type' -SHEET_NAMES = [ - 'all', - 'vendor-mapping', - 'SDV', - 'PreBSL-vs-BSL', -] +SHEET_NAMES = ['all', 'vendor-mapping', 'SDV', 'PreBSL-vs-BSL', 'metainfo'] OUTPUT_FILENAME = 'Downloads_Summary' pre_bsl_versions = { 'rdt': '1.2.1', @@ -343,11 +338,15 @@ def summarize_downloads( ) bsl_vs_pre_bsl_df = append_row(bsl_vs_pre_bsl_df, version_row) vendor_df = vendor_df.rename(columns={vendor_df.columns[0]: ECOSYSTEM_COLUMN_NAME}) + + runtime_data = {'value': [get_dt_now_spelled_out()]} + metadata_df = pd.DataFrame(runtime_data, columns=['value'], index=['date']) sheets = { SHEET_NAMES[0]: all_df, SHEET_NAMES[1]: vendor_df, SHEET_NAMES[2]: breakdown_df, SHEET_NAMES[3]: bsl_vs_pre_bsl_df, + SHEET_NAMES[4]: metadata_df, } if verbose: for sheet_name, df in sheets.items(): diff --git a/pymetrics/time_utils.py b/pymetrics/time_utils.py index af4d35a..c402230 100644 --- a/pymetrics/time_utils.py +++ b/pymetrics/time_utils.py @@ -72,3 +72,13 @@ def _create_unique_name(name, list_names): result += '_' return result + + +def format_datetime_as_date(dt: datetime): + """Format datetime as spelled out date (Month Day, Year).""" + return dt.strftime('%B %-d, %Y') + + +def get_dt_now_spelled_out(): + """Get the current date as full spelled out string.""" + return format_datetime_as_date(datetime.now()) From 8e6a643ddee91bd861b86171ab3a55659cff8ad1 Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 11 Sep 2025 14:11:34 -0400 Subject: [PATCH 2/3] add metadata runtime --- pymetrics/summarize.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pymetrics/summarize.py b/pymetrics/summarize.py index 1b0d567..4a45e44 100644 --- a/pymetrics/summarize.py +++ b/pymetrics/summarize.py @@ -340,13 +340,13 @@ def summarize_downloads( vendor_df = vendor_df.rename(columns={vendor_df.columns[0]: ECOSYSTEM_COLUMN_NAME}) runtime_data = {'value': [get_dt_now_spelled_out()]} - metadata_df = pd.DataFrame(runtime_data, columns=['value'], index=['date']) + metainfo_df = pd.DataFrame(runtime_data, columns=['value'], index=['date']) sheets = { SHEET_NAMES[0]: all_df, SHEET_NAMES[1]: vendor_df, SHEET_NAMES[2]: breakdown_df, SHEET_NAMES[3]: bsl_vs_pre_bsl_df, - SHEET_NAMES[4]: metadata_df, + SHEET_NAMES[4]: metainfo_df, } if verbose: for sheet_name, df in sheets.items(): From e05f030fcd3c442831ed168d0a98e15afee353da Mon Sep 17 00:00:00 2001 From: Gaurav Sheni Date: Thu, 11 Sep 2025 14:40:13 -0400 Subject: [PATCH 3/3] cleanup --- pymetrics/summarize.py | 7 +++++-- pymetrics/time_utils.py | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pymetrics/summarize.py b/pymetrics/summarize.py index 4a45e44..a45cc1b 100644 --- a/pymetrics/summarize.py +++ b/pymetrics/summarize.py @@ -339,8 +339,11 @@ def summarize_downloads( bsl_vs_pre_bsl_df = append_row(bsl_vs_pre_bsl_df, version_row) vendor_df = vendor_df.rename(columns={vendor_df.columns[0]: ECOSYSTEM_COLUMN_NAME}) - runtime_data = {'value': [get_dt_now_spelled_out()]} - metainfo_df = pd.DataFrame(runtime_data, columns=['value'], index=['date']) + runtime_data = { + 'index': ['date'], + 'value': [get_dt_now_spelled_out()], + } + metainfo_df = pd.DataFrame(runtime_data) sheets = { SHEET_NAMES[0]: all_df, SHEET_NAMES[1]: vendor_df, diff --git a/pymetrics/time_utils.py b/pymetrics/time_utils.py index c402230..5e8661a 100644 --- a/pymetrics/time_utils.py +++ b/pymetrics/time_utils.py @@ -79,6 +79,6 @@ def format_datetime_as_date(dt: datetime): return dt.strftime('%B %-d, %Y') -def get_dt_now_spelled_out(): +def get_dt_now_spelled_out(tz=None): """Get the current date as full spelled out string.""" - return format_datetime_as_date(datetime.now()) + return format_datetime_as_date(datetime.now(tz=tz))