v3.17.2 Added Timeseries Table Download Endpoint and Minor Updates#686
Merged
Conversation
Introduces a new endpoint `/job/hourly_rate_table` that generates an Excel file with hourly rate data for one or more scenarios. Adds `hourly_rate_helpers.py` with utility functions for datetime generation and safe dictionary access, and implements the `hourly_rate_table` view to assemble and return the Excel file based on scenario data.
Enhanced the Excel export in hourly_rate_table by adding specific formats for datetime, integers, and energy rates. Rate headers now use the rate name from urdb_metadata for clarity. Data columns for load and peak load use integer formatting, and datetime strings are written as Excel datetimes for better compatibility.
…ad for electric load_type
Renamed hourly_rate_helpers.py to timeseries_table_helpers.py and updated all references accordingly. Added (but not currently used) custom_timeseries_table_config.py to define flexible timeseries table configurations. Refactored the hourly_rate_table view and URL to get_timeseries_table, enhanced Excel formatting with colored headers, and improved code organization for future extensibility.
…ures easily Moved and expanded timeseries table configuration to support column formatting, worksheet naming, and Excel output customization. Renamed and enhanced helper functions for safer data extraction. Updated the view to dynamically use the new configuration structure, allowing selection of table layouts and improved formatting for Excel exports.
Documented new /job/get_timeseries_table endpoint, custom_timeseries_energy_demand table option, and increased monthly_totals_kwh max value. Prepares changelog for v3.17.1 minor updates.
Get timeseries table generalize
Bill-Becker
approved these changes
Dec 2, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What kind of change does this PR introduce?
This pull request introduces a new feature for generating downloadable timeseries results tables, along with several improvements to load metrics handling and data consistency. It also increases the allowed range for monthly energy totals and adds supporting utilities for timeseries table generation.
New timeseries table feature and utilities:
/job/get_timeseries_tableendpoint, enabling users to download a spreadsheet of timeseries results for a list ofrun_uuids. This includes a new custom table option,custom_timeseries_energy_demand, for that endpoint. [1] [2]reoptjl/custom_timeseries_table_config.pyandreoptjl/custom_timeseries_table_helpers.py, which provide configuration and helper functions for building timeseries Excel tables, including column definitions, formatting, and safe data extraction. [1] [2]Load metrics consistency and improvements:
/get_load_metricsendpoint to rename response fields for electric load metrics (annual_kwh,max_kw,monthly_totals_kwh, andmonthly_peaks_kw) to match those from/simulated_load, improving API consistency. [1] [2] [3]Data model and validation changes:
monthly_totals_kwhinElectricLoadInputsfrom 1.0e8 to 1.0e9, including a Django migration to support this change. [1] [2] [3]Other minor changes:
datetimeinreoptjl/views.pyto support new functionality.### Please check if the PR fulfills these requirementsWhat is the current behavior?
(You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change?
(What changes might users need to make in their application due to this PR?)
Other information: