Changelog¶
v2.0 (compared to v1.0)¶
- Added features
- Database ingestion via new connectors for Postgres, Snowflake, Redshift, and Athena with optional AWS Secrets Manager hydration for credentials. Data sources can also be external CSVs and annotations merged into the same daily frame.
- Data loading now auto-merges multiple queries and CSV sources keyed on
Date, supporting aliasing per query name for collision-free metrics.
-
Annotations support via an
annotationslist in the WBR YAML, allowing one or more CSVs (local paths or URLs) to be loaded and rendered as special events alongside metrics in the report. -
Changed behavior
- CSV upload is now optional; if omitted the backend loads data from
setup.db_config_urlusing thedata_sourcesmap. Queries must alias the first column as"Date"and metrics referencequery_name.column. - A CSV provided at request time overrides all YAML
data_sources/csv_files; to merge CSV with DB queries, list CSVs underdata_sources.csv_filesin the YAML instead of uploading ad hoc. - Validation enforces
setup.week_endingpresence/format and tighter metric config checks for aggregation/function definitions. - YAML generation endpoint now reuses the new data loading path and falls back to the rules-based generator if the plugin fails.
- CSV upload is now optional; if omitted the backend loads data from
-
Removed or deprecated functions
- No removals; existing endpoints remain.
-
Test updates
- New unit tests cover connector factory and individual connectors plus validator/controller utility behaviors.
-
Documentation updates
- README expanded with database configuration guidance; new
docs/user_manual.mdadded covering CSV override precedence, DB/CSV merging rules, and updated sample YAML showingdata_sourcesaliasing conventions.
- README expanded with database configuration guidance; new
-
Dependency updates
- Bumped core libs (Flask/Werkzeug, pandas, numpy, matplotlib), cloud SDKs (boto3, google-cloud-, azure-), DB
drivers (psycopg2-binary, snowflake-connector-python), and pytest to current minor versions. Kept
cryptographypinned for Snowflake compatibility.
- Bumped core libs (Flask/Werkzeug, pandas, numpy, matplotlib), cloud SDKs (boto3, google-cloud-, azure-), DB
drivers (psycopg2-binary, snowflake-connector-python), and pytest to current minor versions. Kept