diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/__init__.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_bundle.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_bundle.py deleted file mode 100644 index 55f998c49c4bfef7dfb37f93f61f3c435f00f518..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_bundle.py +++ /dev/null @@ -1,21 +0,0 @@ -from traits.api import String - -from force_bdss.api import bundle_id, BaseDataSourceBundle - -from .csv_extractor_model import CSVExtractorModel -from .csv_extractor_data_source import CSVExtractorDataSource - - -class CSVExtractorBundle(BaseDataSourceBundle): - id = String(bundle_id("enthought", "csv_extractor")) - - name = String("CSV Extractor") - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - - return CSVExtractorModel(self, **model_data) - - def create_data_source(self, application, model): - return CSVExtractorDataSource(self, application, model) diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_data_source.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_data_source.py deleted file mode 100644 index f2835f8fbaeb5290aa01c53271d1c253109531f8..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_data_source.py +++ /dev/null @@ -1,25 +0,0 @@ -import csv -import numpy -from force_bdss.api import BaseDataSource -from force_bdss.api import DataSourceResult - - -class CSVExtractorDataSource(BaseDataSource): - def run(self, parameters): - with open(self.model.filename) as csvfile: - reader = csv.reader(csvfile) - for rowindex, row in enumerate(reader): - if rowindex < self.model.row: - continue - - if rowindex == self.model.row: - return DataSourceResult( - originator=self, - value_types=[self.model.cuba_type], - values=numpy.array( - parameters.values[0]+float( - row[self.model.column])).reshape(1, 1) - ) - - return None - return None diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_model.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_model.py deleted file mode 100644 index ad8d34bad87ce416d563346ef7d12257f3a01477..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_model.py +++ /dev/null @@ -1,10 +0,0 @@ -from traits.api import Int, String - -from force_bdss.api import BaseDataSourceModel - - -class CSVExtractorModel(BaseDataSourceModel): - filename = String() - row = Int() - column = Int() - cuba_type = String() diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py b/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py deleted file mode 100644 index 9020fc8242456ecf6ed6a5af947e3633e010c323..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py +++ /dev/null @@ -1,8 +0,0 @@ -from force_bdss.api import BaseExtensionPlugin - -from .csv_extractor.csv_extractor_bundle import CSVExtractorBundle - - -class CSVExtractorPlugin(BaseExtensionPlugin): - def _data_source_bundles_default(self): - return [CSVExtractorBundle()] diff --git a/force_bdss/core_plugins/dummy/dummy_plugin.py b/force_bdss/core_plugins/dummy/dummy_plugin.py index 01850726513c44d0f888bbb610b5b0da3a991ff4..3eca5b37262bfaab0416ee01c82e5287e5455a2f 100644 --- a/force_bdss/core_plugins/dummy/dummy_plugin.py +++ b/force_bdss/core_plugins/dummy/dummy_plugin.py @@ -1,4 +1,6 @@ from force_bdss.api import BaseExtensionPlugin +from .csv_extractor.csv_extractor_bundle import CSVExtractorBundle +from .kpi_adder.kpi_adder_bundle import KPIAdderBundle from .dummy_dakota.dakota_bundle import DummyDakotaBundle from .dummy_data_source.dummy_data_source_bundle import DummyDataSourceBundle from .dummy_kpi_calculator.dummy_kpi_calculator_bundle import ( @@ -8,10 +10,12 @@ from .dummy_kpi_calculator.dummy_kpi_calculator_bundle import ( class DummyPlugin(BaseExtensionPlugin): def _data_source_bundles_default(self): - return [DummyDataSourceBundle()] + return [DummyDataSourceBundle(), + CSVExtractorBundle()] def _mco_bundles_default(self): return [DummyDakotaBundle()] def _kpi_calculator_bundles_default(self): - return [DummyKPICalculatorBundle()] + return [DummyKPICalculatorBundle(), + KPIAdderBundle()] diff --git a/force_bdss/core_plugins/csv_extractor/__init__.py b/force_bdss/core_plugins/dummy/kpi_adder/__init__.py similarity index 100% rename from force_bdss/core_plugins/csv_extractor/__init__.py rename to force_bdss/core_plugins/dummy/kpi_adder/__init__.py diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_bundle.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_bundle.py similarity index 100% rename from force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_bundle.py rename to force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_bundle.py diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_calculator.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py similarity index 100% rename from force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_calculator.py rename to force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_model.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_model.py similarity index 100% rename from force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_model.py rename to force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_model.py diff --git a/force_bdss/core_plugins/dummy_kpi/__init__.py b/force_bdss/core_plugins/dummy_kpi/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy_kpi/dummy_kpi_calculator_plugin.py b/force_bdss/core_plugins/dummy_kpi/dummy_kpi_calculator_plugin.py deleted file mode 100644 index 1e427722e65776c7a016c03227be085fba7bd57e..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy_kpi/dummy_kpi_calculator_plugin.py +++ /dev/null @@ -1,8 +0,0 @@ -from force_bdss.api import BaseExtensionPlugin - -from .kpi_adder.kpi_adder_bundle import KPIAdderBundle - - -class DummyKPICalculatorPlugin(BaseExtensionPlugin): - def _kpi_calculator_bundles_default(self): - return [KPIAdderBundle()] diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/__init__.py b/force_bdss/core_plugins/dummy_kpi/kpi_adder/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy_mco/__init__.py b/force_bdss/core_plugins/dummy_mco/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy_mco/dakota/__init__.py b/force_bdss/core_plugins/dummy_mco/dakota/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_bundle.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_bundle.py deleted file mode 100644 index e4d9f441bf4dbcce63ac1de06a53a56dc35d693b..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_bundle.py +++ /dev/null @@ -1,23 +0,0 @@ -from traits.api import String -from force_bdss.api import bundle_id, BaseMultiCriteriaOptimizerBundle - -from .dakota_communicator import DakotaCommunicator -from .dakota_model import DakotaModel -from .dakota_optimizer import DakotaOptimizer - - -class DakotaBundle(BaseMultiCriteriaOptimizerBundle): - id = String(bundle_id("enthought", "dakota")) - - name = "Dakota" - - def create_model(self, model_data=None): - if model_data is None: - model_data = {} - return DakotaModel(self, **model_data) - - def create_optimizer(self, application, model): - return DakotaOptimizer(self, application, model) - - def create_communicator(self, application, model): - return DakotaCommunicator(self, application, model) diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py deleted file mode 100644 index 1605eba63e872ff85dae5df694d566b425c84550..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py +++ /dev/null @@ -1,34 +0,0 @@ -import sys -import numpy - -from force_bdss.api import DataSourceParameters, BaseMCOCommunicator - - -class DakotaCommunicator(BaseMCOCommunicator): - def receive_from_mco(self): - data = sys.stdin.read() - values = list(map(float, data.split())) - - parameters = self.model.parameters - - if len(values) != len(parameters): - raise ValueError( - "The passed information length is {}, " - "but the model specifies {} values.".format( - len(values), len(parameters) - )) - - value_types = [p.value_type for p in parameters] - value_names = [p.value_name for p in parameters] - - return DataSourceParameters( - value_names=value_names, - value_types=value_types, - values=numpy.array(values) - ) - - def send_to_mco(self, kpi_results): - data = " ".join( - [" ".join(list(map(str, r.values.tolist()))) for r in kpi_results] - ) - sys.stdout.write(data) diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_model.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_model.py deleted file mode 100644 index b4c081a6b38bd5478f4287624411c5ce185cd01d..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_model.py +++ /dev/null @@ -1,7 +0,0 @@ -from traits.api import List, String - -from force_bdss.api import BaseMCOModel - - -class DakotaModel(BaseMCOModel): - value_types = List(String) diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_optimizer.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_optimizer.py deleted file mode 100644 index 6b607cfce35432d286642465e36e90387f5a6c34..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_optimizer.py +++ /dev/null @@ -1,20 +0,0 @@ -import subprocess - -import sys - -from force_bdss.api import BaseMultiCriteriaOptimizer - - -class DakotaOptimizer(BaseMultiCriteriaOptimizer): - def run(self): - print("Running dakota optimizer") - for initial_value in range(10): - ps = subprocess.Popen( - [sys.argv[0], - "--evaluate", - self.application.workflow_filepath], - stdout=subprocess.PIPE, - stdin=subprocess.PIPE) - - out = ps.communicate("{}".format(initial_value).encode("utf-8")) - print("{}: {}".format(initial_value, out[0].decode("utf-8"))) diff --git a/force_bdss/core_plugins/dummy_mco/multi_criteria_optimizers_plugin.py b/force_bdss/core_plugins/dummy_mco/multi_criteria_optimizers_plugin.py deleted file mode 100644 index 1fe302b5eb40afb1ef8610b6889fac38ccf06ca4..0000000000000000000000000000000000000000 --- a/force_bdss/core_plugins/dummy_mco/multi_criteria_optimizers_plugin.py +++ /dev/null @@ -1,8 +0,0 @@ -from force_bdss.api import BaseExtensionPlugin - -from .dakota.dakota_bundle import DakotaBundle - - -class MultiCriteriaOptimizersPlugin(BaseExtensionPlugin): - def _mco_bundles_default(self): - return [DakotaBundle()] diff --git a/force_bdss/tests/fixtures/test_csv.json b/force_bdss/tests/fixtures/test_csv.json index dbd1a9d9c205cfa1b8fdc9d59676a83f187b05a9..a74afc6474f158fa2c838fcc6a599e91faaef25e 100644 --- a/force_bdss/tests/fixtures/test_csv.json +++ b/force_bdss/tests/fixtures/test_csv.json @@ -2,7 +2,7 @@ "version": "1", "workflow": { "multi_criteria_optimizer": { - "id": "force.bdss.bundle.enthought.dakota", + "id": "force.bdss.bundle.enthought.dummy_dakota", "model_data": { "parameters" : [ {