From 078c434df0b67dec14427beadb395527a7f0966b Mon Sep 17 00:00:00 2001 From: trevorb1 Date: Sat, 15 Apr 2023 17:20:06 -0700 Subject: [PATCH 1/4] logic for config/data checks --- src/otoole/exceptions.py | 12 ++++++---- src/otoole/input.py | 44 +++++++++++++++++++++++++++++++---- src/otoole/read_strategies.py | 35 ++++------------------------ 3 files changed, 51 insertions(+), 40 deletions(-) diff --git a/src/otoole/exceptions.py b/src/otoole/exceptions.py index 736a3494..9db13768 100644 --- a/src/otoole/exceptions.py +++ b/src/otoole/exceptions.py @@ -72,18 +72,20 @@ def __str__(self): return f"{self.name} -> {self.message}" -class OtooleExcelNameMismatchError(OtooleException): - """Name mismatch between config and excel tabs.""" +class OtooleNameMismatchError(OtooleException): + """Names not consistent between read in data and config file""" def __init__( - self, excel_name: str, message: str = "Excel tab name not found in config file" + self, + name: str, + message: str = "Name not consistent between data and config file", ) -> None: - self.excel_name = excel_name + self.name = name self.message = message super().__init__(self.message) def __str__(self): - return f"{self.excel_name} -> {self.message}" + return f"{self.name} -> {self.message}" class OtooleDeprecationError(OtooleException): diff --git a/src/otoole/input.py b/src/otoole/input.py index fab09792..61728e7d 100644 --- a/src/otoole/input.py +++ b/src/otoole/input.py @@ -32,10 +32,12 @@ import logging from abc import ABC, abstractmethod -from typing import Any, Dict, Optional, TextIO, Tuple, Union +from typing import Any, Dict, List, Optional, TextIO, Tuple, Union import pandas as pd +from otoole.exceptions import OtooleNameMismatchError + logger = logging.getLogger(__name__) @@ -124,10 +126,9 @@ class Strategy(ABC): def __init__(self, user_config: Dict[str, Dict]): self.user_config = user_config - - # self.input_config = { - # x: y for x, y in self.user_config.items() if y["type"] in ["param", 'set'] - # } + self.input_config = { + x: y for x, y in self.user_config.items() if y["type"] in ["param", "set"] + } self.results_config = { x: y for x, y in self.user_config.items() if y["type"] == "result" } @@ -450,6 +451,39 @@ def _get_missing_input_dataframes( return input_data + def _compare_read_to_expected( + self, names: List[str], short_names: bool = False + ) -> None: + """Compares input data definitions to config file definitions + + Arguments: + --------- + names: List[str] + Parameter and set names read in + map_names: bool = False + If should be checking short_names from config file + + Raises: + ------- + OtooleNameMismatchError + If the info in the data and config file do not match + """ + user_config = self.input_config + if short_names: + expected = [] + for name in user_config: + try: + expected.append(user_config[name]["short_name"]) + except KeyError: + expected.append(name) + else: + expected = [x for x in user_config] + + errors = list(set(expected).symmetric_difference(set(names))) + if errors: + logger.debug(f"data and config name errors are: {errors}") + raise OtooleNameMismatchError(name=errors[0]) + @abstractmethod def read( self, filepath: Union[str, TextIO], **kwargs diff --git a/src/otoole/read_strategies.py b/src/otoole/read_strategies.py index a74b4166..ebce1f7f 100644 --- a/src/otoole/read_strategies.py +++ b/src/otoole/read_strategies.py @@ -6,7 +6,7 @@ from amply import Amply from flatten_dict import flatten -from otoole.exceptions import OtooleDeprecationError, OtooleExcelNameMismatchError +from otoole.exceptions import OtooleDeprecationError from otoole.input import ReadStrategy from otoole.preprocess.longify_data import check_datatypes, check_set_datatype from otoole.utils import create_name_mappings @@ -121,8 +121,7 @@ def read( excel_to_csv = create_name_mappings(config, map_full_to_short=False) xl = pd.ExcelFile(filepath, engine="openpyxl") - - self._check_input_sheet_names(xl.sheet_names) + self._compare_read_to_expected(names=xl.sheet_names, short_names=True) input_data = {} @@ -155,33 +154,6 @@ def read( return input_data, default_values - def _check_input_sheet_names(self, sheet_names: List[str]) -> None: - """Checks that excel sheet names are in the config file. - - Arguments: - --------- - sheet_names: list[str] - Sheet names from the excel file - - Raises: - ------- - OtooleExcelNameMismatchError - If the sheet name is not found in the config files parameter or - 'short_name' parameter - """ - user_config = self.user_config - csv_to_excel = create_name_mappings(user_config) - config_param_names = [] - for name in user_config: - try: - config_param_names.append(csv_to_excel[name]) - except KeyError: - config_param_names.append(name) - - for sheet_name in sheet_names: - if sheet_name not in config_param_names: - raise OtooleExcelNameMismatchError(excel_name=sheet_name) - class ReadCsv(_ReadTabular): """Read in a folder of CSV files""" @@ -236,6 +208,8 @@ def read( input_data = self._check_index(input_data) + self._compare_read_to_expected(names=list(input_data)) + return input_data, default_values @staticmethod @@ -306,6 +280,7 @@ def read( for config_type in ["param", "set"]: inputs = self._get_missing_input_dataframes(inputs, config_type=config_type) inputs = self._check_index(inputs) + self._compare_read_to_expected(names=list(inputs)) return inputs, default_values def read_in_datafile(self, path_to_datafile: str, config: Dict) -> Amply: From 3ff92fe3668c106f6822978b6aae94cfab05ed9c Mon Sep 17 00:00:00 2001 From: trevorb1 Date: Sat, 15 Apr 2023 20:46:57 -0700 Subject: [PATCH 2/4] checks input data and config names match --- src/otoole/read_strategies.py | 7 ++-- tests/fixtures/combined_inputs.xlsx | Bin 111742 -> 130298 bytes tests/fixtures/config.yaml | 5 --- tests/fixtures/config_r.yaml | 3 -- tests/test_input.py | 53 ++++++++++++++++++++++++++++ tests/test_read_strategies.py | 16 --------- tests/test_utils.py | 14 +------- 7 files changed, 58 insertions(+), 40 deletions(-) diff --git a/src/otoole/read_strategies.py b/src/otoole/read_strategies.py index ebce1f7f..d8f6fca5 100644 --- a/src/otoole/read_strategies.py +++ b/src/otoole/read_strategies.py @@ -165,6 +165,10 @@ def read( input_data = {} self._check_for_default_values_csv(filepath) + self._compare_read_to_expected( + names=[f.split(".csv")[0] for f in os.listdir(filepath)] + ) + default_values = self._read_default_values(self.user_config) for parameter, details in self.user_config.items(): @@ -208,8 +212,6 @@ def read( input_data = self._check_index(input_data) - self._compare_read_to_expected(names=list(input_data)) - return input_data, default_values @staticmethod @@ -280,7 +282,6 @@ def read( for config_type in ["param", "set"]: inputs = self._get_missing_input_dataframes(inputs, config_type=config_type) inputs = self._check_index(inputs) - self._compare_read_to_expected(names=list(inputs)) return inputs, default_values def read_in_datafile(self, path_to_datafile: str, config: Dict) -> Amply: diff --git a/tests/fixtures/combined_inputs.xlsx b/tests/fixtures/combined_inputs.xlsx index a301dcfccb21655dcebef9b12a1bff456e6b89fe..0495d5b455a4a26544040a7c047619494770e63a 100644 GIT binary patch literal 130298 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 diff --git a/tests/fixtures/config.yaml b/tests/fixtures/config.yaml index b57b8732..6f8ffdcc 100644 --- a/tests/fixtures/config.yaml +++ b/tests/fixtures/config.yaml @@ -84,11 +84,6 @@ DiscountRate: type: param dtype: float default: 0.05 -DiscountRateIdv: - indices: [REGION,TECHNOLOGY] - type: param - dtype: float - default: 0.05 DiscountRateStorage: indices: [REGION,STORAGE] type: param diff --git a/tests/fixtures/config_r.yaml b/tests/fixtures/config_r.yaml index e80e6101..8a56c2e0 100644 --- a/tests/fixtures/config_r.yaml +++ b/tests/fixtures/config_r.yaml @@ -202,6 +202,3 @@ UseByTechnology: dtype: float default: 0 calculated: False -_REGION: - type: set - dtype: str diff --git a/tests/test_input.py b/tests/test_input.py index 9bc69cea..0f2493a8 100644 --- a/tests/test_input.py +++ b/tests/test_input.py @@ -4,6 +4,7 @@ from pandas.testing import assert_frame_equal from pytest import fixture, mark, raises +from otoole.exceptions import OtooleNameMismatchError from otoole.input import ReadStrategy, WriteStrategy @@ -40,6 +41,31 @@ def simple_input_data(region, year, technology): } +@fixture +def simple_user_config(): + return { + "AccumulatedAnnualDemand": { + "indices": ["REGION", "FUEL", "YEAR"], + "type": "param", + "dtype": "float", + "default": 0, + "short_name": "AAD", + }, + "REGION": { + "dtype": "str", + "type": "set", + }, + "FUEL": { + "dtype": "str", + "type": "set", + }, + "YEAR": { + "dtype": "int", + "type": "set", + }, + } + + # To instantiate abstract class WriteStrategy class DummyWriteStrategy(WriteStrategy): def _header(self) -> Union[TextIO, Any]: @@ -279,6 +305,14 @@ class TestReadStrategy: ), ("set", "REGION", pd.DataFrame(columns=["VALUE"])), ) + compare_read_to_expected_data = [ + [["AccumulatedAnnualDemand", "REGION", "FUEL", "YEAR"], False], + [["AAD", "REGION", "FUEL", "YEAR"], True], + ] + compare_read_to_expected_data_exception = [ + ["AccumulatedAnnualDemand", "REGION", "FUEL"], + ["AccumulatedAnnualDemand", "REGION", "FUEL", "YEAR", "Extra"], + ] @mark.parametrize( "config_type, test_value, expected", @@ -299,3 +333,22 @@ def test_get_missing_input_dataframes_excpetion(self, user_config): reader = DummyReadStrategy(user_config) with raises(ValueError): reader._get_missing_input_dataframes(input_data, config_type="not_valid") + + @mark.parametrize( + "expected, short_name", + compare_read_to_expected_data, + ids=["full_name", "short_name"], + ) + def test_compare_read_to_expected(self, simple_user_config, expected, short_name): + reader = DummyReadStrategy(simple_user_config) + reader._compare_read_to_expected(names=expected, short_names=short_name) + + @mark.parametrize( + "expected", + compare_read_to_expected_data_exception, + ids=["missing_value", "extra_value"], + ) + def test_compare_read_to_expected_exception(self, simple_user_config, expected): + reader = DummyReadStrategy(simple_user_config) + with raises(OtooleNameMismatchError): + reader._compare_read_to_expected(names=expected) diff --git a/tests/test_read_strategies.py b/tests/test_read_strategies.py index dd106e9c..ea93b0f7 100644 --- a/tests/test_read_strategies.py +++ b/tests/test_read_strategies.py @@ -945,22 +945,6 @@ def test_read_excel_yearsplit(self, user_config): assert (actual_data == expected).all() - def test_read_excel_discount_rate(self, user_config): - """Tests that parameters not in excel are saved in datastore""" - - spreadsheet = os.path.join("tests", "fixtures", "combined_inputs.xlsx") - xl = pd.ExcelFile(spreadsheet, engine="openpyxl") - - # checks that fixture does not contian discount rate data - assert "DiscountRateIdv" not in xl.sheet_names - - reader = ReadExcel(user_config=user_config) - actual, _ = reader.read(spreadsheet) - - # checks that discount rate has data after reading in excel data - assert "DiscountRateIdv" in actual - assert actual["DiscountRateIdv"].empty - def test_narrow_parameters(self, user_config): data = [ ["IW0016", 0.238356164, 0.238356164, 0.238356164], diff --git a/tests/test_utils.py b/tests/test_utils.py index e4a445dc..8fac9aa3 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -4,12 +4,7 @@ import pytest import yaml -from otoole.exceptions import ( - OtooleDeprecationError, - OtooleExcelNameLengthError, - OtooleExcelNameMismatchError, -) -from otoole.read_strategies import ReadExcel +from otoole.exceptions import OtooleDeprecationError, OtooleExcelNameLengthError from otoole.utils import ( UniqueKeyLoader, create_name_mappings, @@ -71,13 +66,6 @@ def test_create_name_mappings_reversed(self, user_config): assert actual == expected -def test_excel_name_mismatch_error(user_config): - read_excel = ReadExcel(user_config=user_config) - sheet_names = ["AccumulatedAnnualDemand", "MismatchSheet"] - with pytest.raises(OtooleExcelNameMismatchError): - read_excel._check_input_sheet_names(sheet_names=sheet_names) - - user_config_name_errors = ["user_config_long_param_name", "user_config_long_short_name"] From 0adf1259d1d5a880d9c1f22e9c106424c2de9363 Mon Sep 17 00:00:00 2001 From: trevorb1 Date: Sat, 15 Apr 2023 21:41:25 -0700 Subject: [PATCH 3/4] fix pandas version --- requirements.txt | 2 +- setup.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 1f7d0225..2c6b1dd7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ flatten_dict importlib_resources; python_version<'3.7' networkx openpyxl -pandas +pandas<2.0 pandas_datapackage_reader pydantic pydot diff --git a/setup.cfg b/setup.cfg index b410ffb8..c509d9bf 100644 --- a/setup.cfg +++ b/setup.cfg @@ -46,7 +46,7 @@ install_requires = pyyaml pydot importlib_resources; python_version<'3.7' - pandas>=1.1 + pandas>=1.1, <2.0 amply>=0.1.4 networkx flatten_dict From 948ba775fa04594add6eb8bb1dacf77f90908331 Mon Sep 17 00:00:00 2001 From: trevorb1 Date: Wed, 19 Apr 2023 15:47:29 -0700 Subject: [PATCH 4/4] fixed docstring --- src/otoole/input.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/otoole/input.py b/src/otoole/input.py index 61728e7d..ebdd13e6 100644 --- a/src/otoole/input.py +++ b/src/otoole/input.py @@ -419,7 +419,7 @@ def _get_missing_input_dataframes( Arguments: ---------- input_data: Dict[str, pd.DataFrame] - Data read in from the excel notebook + Internal datastore config_type: str Type of value. Must be "set", "param", or "result"