From 2b43b1e7d29d400164d1127083c552cf9fc18715 Mon Sep 17 00:00:00 2001 From: GOYON Guillaume Date: Tue, 6 Aug 2024 09:30:16 +0200 Subject: [PATCH 1/2] Removed Pycel --- requirements.in | 1 - .../test/test_excel_wrapp/__init__.py | 0 .../test/test_excel_wrapp/process.py | 35 ---- .../test/test_excel_wrapp/usecase.py | 45 ------ .../test_discs/disc_excel_wrapp.py | 153 ------------------ .../test_discs/excel_example.xlsx | Bin 10736 -> 0 bytes 6 files changed, 234 deletions(-) delete mode 100644 sostrades_core/sos_processes/test/test_excel_wrapp/__init__.py delete mode 100644 sostrades_core/sos_processes/test/test_excel_wrapp/process.py delete mode 100644 sostrades_core/sos_processes/test/test_excel_wrapp/usecase.py delete mode 100644 sostrades_core/sos_wrapping/test_discs/disc_excel_wrapp.py delete mode 100644 sostrades_core/sos_wrapping/test_discs/excel_example.xlsx diff --git a/requirements.in b/requirements.in index 0e848572c..a794036a0 100644 --- a/requirements.in +++ b/requirements.in @@ -17,7 +17,6 @@ openturns==1.23 pandas==2.2.2 plotly==5.22.0 pyarrow==16.1.0 -pycel==1.0b30 pycryptodome==3.20.0 python-arango==8.0.0 PyYAML==6.0.1 diff --git a/sostrades_core/sos_processes/test/test_excel_wrapp/__init__.py b/sostrades_core/sos_processes/test/test_excel_wrapp/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/sostrades_core/sos_processes/test/test_excel_wrapp/process.py b/sostrades_core/sos_processes/test/test_excel_wrapp/process.py deleted file mode 100644 index 35d5eb13d..000000000 --- a/sostrades_core/sos_processes/test/test_excel_wrapp/process.py +++ /dev/null @@ -1,35 +0,0 @@ -''' -Copyright 2024 Capgemini -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -''' -# mode: python; py-indent-offset: 4; tab-width: 8; coding:utf-8 -# -- Generate test 1 process -from sostrades_core.sos_processes.base_process_builder import BaseProcessBuilder - - -class ProcessBuilder(BaseProcessBuilder): - - # ontology information - _ontology_data = { - 'label': 'Core Test Excel Wrapp Process', - 'description': '', - 'category': '', - 'version': '', - } - - def get_builders(self): - mods_dict = { - 'ExcelWrapp': 'sostrades_core.sos_wrapping.test_discs.disc_excel_wrapp.DiscExcelWrapp'} - builder_list = self.create_builder_list(mods_dict, ns_dict={}) - return builder_list diff --git a/sostrades_core/sos_processes/test/test_excel_wrapp/usecase.py b/sostrades_core/sos_processes/test/test_excel_wrapp/usecase.py deleted file mode 100644 index ed75dfa9a..000000000 --- a/sostrades_core/sos_processes/test/test_excel_wrapp/usecase.py +++ /dev/null @@ -1,45 +0,0 @@ -''' -Copyright 2024 Capgemini -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -''' -# mode: python; py-indent-offset: 4; tab-width: 8; coding:utf-8 -import pandas as pd - -from sostrades_core.study_manager.study_manager import StudyManager - - -class Study(StudyManager): - - def __init__(self, execution_engine=None): - super().__init__(__file__, execution_engine=execution_engine) - - def setup_usecase(self): - # Sample DataFrame - data = { - 'days': [0, 1, 10, 3, 0.2, 2, 1, 5, 2, 15, 3, 8, 10, 20, 6], - 'quantity': [25, 5, 0, 0, 20, 8, 8, 0, 2, 1, 6, 0, 0, 1, 1] - } - - df = pd.DataFrame(data) - df['quantity'] += 1 - dict_values = { - 'usecase.ExcelWrapp.df': df - } - return dict_values - - -if '__main__' == __name__: - uc_cls = Study() - uc_cls.load_data() - uc_cls.run(for_test=True) diff --git a/sostrades_core/sos_wrapping/test_discs/disc_excel_wrapp.py b/sostrades_core/sos_wrapping/test_discs/disc_excel_wrapp.py deleted file mode 100644 index 2af9bfb75..000000000 --- a/sostrades_core/sos_wrapping/test_discs/disc_excel_wrapp.py +++ /dev/null @@ -1,153 +0,0 @@ -''' -Copyright 2024 Capgemini - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -''' - -from os.path import dirname, join - -import numpy as np -import pandas as pd -from pycel import ExcelCompiler - -from sostrades_core.execution_engine.sos_wrapp import SoSWrapp -from sostrades_core.tools.post_processing.charts.chart_filter import ChartFilter -from sostrades_core.tools.post_processing.charts.two_axes_instanciated_chart import ( - InstanciatedSeries, - TwoAxesInstanciatedChart, -) - - -class DiscExcelWrapp(SoSWrapp): - # ontology information - _ontology_data = { - 'label': 'Disc Excel wrapp', - 'type': 'Research', - 'source': 'SoSTrades Project', - 'validated': '', - 'validated_by': 'SoSTrades Project', - 'last_modification_date': '', - 'category': '', - 'definition': '', - 'icon': 'fas fa-plane fa-fw', - 'version': '', - } - _maturity = 'Fake' - DESC_IN = { - 'df': {'type': 'dataframe', 'dataframe_descriptor': {'days': ('float', None, True), - 'quantity': ('float', None, True)}} - } - DESC_OUT = { - 'df_out': {'type': 'dataframe'} - } - - FILENAME = 'excel_example.xlsx' - SHEETNAME = 'pricing with team' - - def run(self): - - df = self.get_sosdisc_inputs('df') - - self.filename = join(dirname(__file__), self.FILENAME) - - # Write DataFrame to Excel - self.write_dataframe(df, self.SHEETNAME, start_row=13, start_col=2) - - # Get results of formulas - result_df = self.evaluate_column_in_excel(self.SHEETNAME, start_row=13, start_col=4, end_row=28, - col_name='days total') - - self.store_sos_outputs_values({'df_out': result_df}) - - def write_dataframe(self, df, sheet_name, start_row=0, start_col=0): - """ - Write a pandas DataFrame to an Excel sheet. - - :param df: DataFrame to write to Excel. - :param sheet_name: Name of the sheet to write to. - :param start_row: Starting row in the sheet (0-indexed). - :param start_col: Starting column in the sheet (0-indexed). - """ - - with pd.ExcelWriter(self.filename, engine='openpyxl', mode='a', if_sheet_exists='overlay') as writer: - df.to_excel(writer, sheet_name=sheet_name, startrow=start_row, startcol=start_col, index=False, - header=False) - - def evaluate_column_in_excel(self, sheet_name, start_row=0, start_col=0, end_row=None, col_name='result'): - """ - Get the results of formulas from an Excel sheet. - - :param sheet_name: Name of the sheet to read from. - :param start_row: Starting row in the sheet (0-indexed). - :param start_col: Starting column in the sheet (0-indexed). - :param end_row: Ending row in the sheet (0-indexed). - :param end_col: Ending column in the sheet (0-indexed). - :return: DataFrame with the results of the formulas. - """ - - # Use Pycel to evaluate formulas - comp = ExcelCompiler(filename=self.filename) - - # Create a DataFrame to hold the data - data = [] - for row in range(start_row, end_row): - cell = f'{chr(65 + start_col)}{row + 1}' - value = comp.evaluate(f'{sheet_name}!{cell}') - data.append(value) - - # df = pd.read_excel(self.filename, sheet_name=sheet_name, header=None) - # df_results = df.iloc[start_row:end_row, start_col:start_col + 1] - - # df_results.columns = [col_name] - df = pd.DataFrame({col_name: data}) - return df - - def get_chart_filter_list(self): - - chart_filters = [] - - chart_list = ['df out'] - - chart_filters.append(ChartFilter( - 'Charts', chart_list, chart_list, 'graphs')) - - return chart_filters - - def get_post_processing_list(self, filters=None): - - instanciated_charts = [] - charts_list = [] - - # Overload default value with chart filter - if filters is not None: - for chart_filter in filters: - if chart_filter.filter_key == 'graphs': - charts_list = chart_filter.selected_values - - if 'df out' in charts_list: - chart_name = 'days total' - - y = self.get_sosdisc_outputs('df_out')['days total'].values.tolist() - - x = np.arange(len(y)).tolist() - - new_chart = TwoAxesInstanciatedChart('x (-)', 'y (-)', - chart_name=chart_name) - serie = InstanciatedSeries( - [x], [y], '', 'bar') - - new_chart.series.append(serie) - - instanciated_charts.append(new_chart) - - return instanciated_charts diff --git a/sostrades_core/sos_wrapping/test_discs/excel_example.xlsx b/sostrades_core/sos_wrapping/test_discs/excel_example.xlsx deleted file mode 100644 index 63dcdc67a66c9e47af52b062883e429f538126d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10736 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 Date: Wed, 7 Aug 2024 18:03:38 +0200 Subject: [PATCH 2/2] Updated headers for modified file --- .../sos_processes/test/test_disc_all_types/process.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sostrades_core/sos_processes/test/test_disc_all_types/process.py b/sostrades_core/sos_processes/test/test_disc_all_types/process.py index 47d292fee..41d2ca55d 100644 --- a/sostrades_core/sos_processes/test/test_disc_all_types/process.py +++ b/sostrades_core/sos_processes/test/test_disc_all_types/process.py @@ -1,5 +1,6 @@ ''' -Copyright 2024 Capgemini +Copyright 2022 Airbus SAS +Modifications on 2024/08/07 Copyright 2024 Capgemini Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.