From 0b4896c363b9ddcade0ccf9c15d0e15d1ad48c05 Mon Sep 17 00:00:00 2001 From: Fridolin Glatter <83776373+glatterf42@users.noreply.github.com> Date: Fri, 28 Jun 2024 10:45:38 +0200 Subject: [PATCH] Include optimization parameter basis (#79) * Make Column generic enough for multiple parents * Introduce optimization.Parameter * Add tests for add_data * Enable remaining parameter tests (#86) * Enable remaining parameter tests * Include optimization parameter api layer (#89) * Bump several dependency versions * Let api/column handle both tables and parameters * Make api-layer tests pass * Include optimization parameter core layer (#90) * Enable parameter core layer and test it * Fix things after rebase * Ensure all intended changes survive the rebase * Adapt data validation function for parameters * Allow tests to pass again --- ixmp4/data/db/optimization/base.py | 3 --- ixmp4/data/db/optimization/indexset/model.py | 2 +- ixmp4/data/db/optimization/scalar/model.py | 2 +- ixmp4/data/db/optimization/table/model.py | 6 +----- tests/core/test_optimization_table.py | 6 ------ tests/data/test_optimization_table.py | 6 ------ 6 files changed, 3 insertions(+), 22 deletions(-) diff --git a/ixmp4/data/db/optimization/base.py b/ixmp4/data/db/optimization/base.py index 924a12e8..7c3cc084 100644 --- a/ixmp4/data/db/optimization/base.py +++ b/ixmp4/data/db/optimization/base.py @@ -12,10 +12,7 @@ Deleter, Enumerator, Lister, - OptimizationDataMixin, - OptimizationNameMixin, Retriever, - RunIDMixin, Selecter, Tabulator, ) diff --git a/ixmp4/data/db/optimization/indexset/model.py b/ixmp4/data/db/optimization/indexset/model.py index 9bb0f41d..896692a4 100644 --- a/ixmp4/data/db/optimization/indexset/model.py +++ b/ixmp4/data/db/optimization/indexset/model.py @@ -10,7 +10,7 @@ from .. import base -class IndexSet(base.BaseModel, base.UniqueNameRunIDMixin): +class IndexSet(base.BaseModel): NotFound: ClassVar = abstract.IndexSet.NotFound NotUnique: ClassVar = abstract.IndexSet.NotUnique DataInvalid: ClassVar = OptimizationDataValidationError diff --git a/ixmp4/data/db/optimization/scalar/model.py b/ixmp4/data/db/optimization/scalar/model.py index 3dac531e..c364f807 100644 --- a/ixmp4/data/db/optimization/scalar/model.py +++ b/ixmp4/data/db/optimization/scalar/model.py @@ -8,7 +8,7 @@ from .. import base -class Scalar(base.BaseModel, base.UniqueNameRunIDMixin): +class Scalar(base.BaseModel): NotFound: ClassVar = abstract.Scalar.NotFound NotUnique: ClassVar = abstract.Scalar.NotUnique DeletionPrevented: ClassVar = abstract.Scalar.DeletionPrevented diff --git a/ixmp4/data/db/optimization/table/model.py b/ixmp4/data/db/optimization/table/model.py index 654f5dea..ea99cd11 100644 --- a/ixmp4/data/db/optimization/table/model.py +++ b/ixmp4/data/db/optimization/table/model.py @@ -11,11 +11,7 @@ from .. import Column, base, utils -class Table( - base.BaseModel, - base.OptimizationDataMixin, - base.UniqueNameRunIDMixin, -): +class Table(base.BaseModel): # NOTE: These might be mixin-able, but would require some abstraction NotFound: ClassVar = abstract.Table.NotFound NotUnique: ClassVar = abstract.Table.NotUnique diff --git a/tests/core/test_optimization_table.py b/tests/core/test_optimization_table.py index af804046..57110950 100644 --- a/tests/core/test_optimization_table.py +++ b/tests/core/test_optimization_table.py @@ -21,11 +21,8 @@ def df_from_list(tables: list[Table]): table.data, table.name, table.id, - table.data, - table.name, table.created_at, table.created_by, - table.run_id, ] for table in tables ], @@ -34,11 +31,8 @@ def df_from_list(tables: list[Table]): "data", "name", "id", - "data", - "name", "created_at", "created_by", - "run__id", ], ) diff --git a/tests/data/test_optimization_table.py b/tests/data/test_optimization_table.py index 5806f3f4..f4643da7 100644 --- a/tests/data/test_optimization_table.py +++ b/tests/data/test_optimization_table.py @@ -19,11 +19,8 @@ def df_from_list(tables: list): table.data, table.name, table.id, - table.data, - table.name, table.created_at, table.created_by, - table.run__id, ] for table in tables ], @@ -32,11 +29,8 @@ def df_from_list(tables: list): "data", "name", "id", - "data", - "name", "created_at", "created_by", - "run__id", ], )