From 8c7c3b6b01e42d9c4ccba22ab54add5e1ac4ec08 Mon Sep 17 00:00:00 2001 From: Mark Vrijlandt Date: Tue, 17 Jun 2025 14:39:01 +0200 Subject: [PATCH 01/22] support multiple workflow types --- src/simulator_worker/simulator_worker.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/simulator_worker/simulator_worker.py b/src/simulator_worker/simulator_worker.py index 0a5a350..502d314 100644 --- a/src/simulator_worker/simulator_worker.py +++ b/src/simulator_worker/simulator_worker.py @@ -44,7 +44,10 @@ def simulator_worker_task( - input_esdl: str, workflow_config: ProtobufDict, update_progress_handler: UpdateProgressHandler + input_esdl: str, + workflow_config: ProtobufDict, + update_progress_handler: UpdateProgressHandler, + workflow_type_name: str, ) -> tuple[str | None, list[EsdlMessage]]: """Simulator worker function for celery task. @@ -61,10 +64,11 @@ def simulator_worker_task( :param input_esdl: The input ESDL XML string. :param workflow_config: Extra parameters to configure this run. :param update_progress_handler: Handler to notify of any progress changes. + :param workflow_type_name: Name of the workflow. :return: Simulated ESDL with simulation result profiles added to input ESDL but no other changes. """ - logger.info("Starting Simulator-core...") + logger.info(f"Starting Simulator-core for task type '{workflow_type_name}'...") # TODO # pass update_progress_handler(fraction: float, msg: str) to simulator-core @@ -118,7 +122,7 @@ def simulator_worker_task( def start_app() -> None: """Design Toolkit Application application.""" try: - initialize_worker("simulator", simulator_worker_task) + initialize_worker(["simulator"], simulator_worker_task) except Exception as error: logger.error("Error occured: %s at: %s", error, traceback.format_exc(limit=-1)) logger.debug(traceback.format_exc()) From dee34757bd7d473cf6a2a3d6e7d2d1daac6e7c50 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:01:27 +0200 Subject: [PATCH 02/22] Added datasource to the profile and added input type. --- src/simulator_worker/utils.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index 19c08ec..de3791f 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -241,6 +241,17 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: series_for_asset_id_for_carrier = series_per_asset_id_for_carrier.setdefault(asset_id, []) series_for_asset_id_for_carrier.append((series_name, port)) + datasource = esdl.esdl.DataSource(name="Omotes simulator core run", + description="......", + reference="......", + attribution="......", + releaseDate=datetime.now(), + version="0.21", + license="n/a", + author="Deltares/TNO", + contactDetails="you do not get the secrets easily") + reference = esdl.esdl.DataSourceReference(reference=datasource) + capabilities = [esdl.Transport, esdl.Conversion, esdl.Consumer, esdl.Producer] for carrier_id in series_per_asset_id_per_carrier_id: for asset_id in series_per_asset_id_per_carrier_id[carrier_id]: @@ -267,7 +278,9 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: startDate=simulation_result.index[0], endDate=simulation_result.index[-1], id=str(uuid.uuid4()), - filters=f"\"assetId\"='{asset_id}'" + filters=f"\"assetId\"='{asset_id}'", + profileType=esdl.ProfileTypeEnum.INPUT, + dataSource=reference ) profile_attributes.profileQuantityAndUnit = get_profileQuantityAndUnit(profile_name) From 8de362555de963c91ea72a6f3f5efa7e0780dda8 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:13:45 +0200 Subject: [PATCH 03/22] Added datasources to the esdl and put reference creation in the loop so it is crreated for each profile --- src/simulator_worker/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index de3791f..1abf02e 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -250,7 +250,9 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: license="n/a", author="Deltares/TNO", contactDetails="you do not get the secrets easily") - reference = esdl.esdl.DataSourceReference(reference=datasource) + esh.energy_system.energySystemInformation.dataSources = esdl.DataSources(id=str(uuid.uuid4()), dataSource=[datasource]) + + capabilities = [esdl.Transport, esdl.Conversion, esdl.Consumer, esdl.Producer] for carrier_id in series_per_asset_id_per_carrier_id: @@ -267,7 +269,7 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: for series_name, port in series_per_asset_id_per_carrier_id[carrier_id][asset_id]: # Add profile to esdl profile_name = series_name[1] - + reference = esdl.esdl.DataSourceReference(reference=datasource) profiles.profile_header.append(profile_name) profile_attributes = esdl.InfluxDBProfile( database=output_uuid, From 3f28891e67da96f0e162441f9e9b6958011149ad Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:19:05 +0200 Subject: [PATCH 04/22] Corrected info in the datasource --- src/simulator_worker/utils.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index 1abf02e..d03a404 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -242,17 +242,17 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: series_for_asset_id_for_carrier.append((series_name, port)) datasource = esdl.esdl.DataSource(name="Omotes simulator core run", - description="......", - reference="......", - attribution="......", + id=str(uuid.uuid4()), + description="This profile is a simulation results obtained with teh Omotes simualtor core", + reference="https://simulator-core.readthedocs.io/en/latest/", releaseDate=datetime.now(), version="0.21", - license="n/a", + license="GNU GENERAL PUBLIC LICENSE", author="Deltares/TNO", - contactDetails="you do not get the secrets easily") - esh.energy_system.energySystemInformation.dataSources = esdl.DataSources(id=str(uuid.uuid4()), dataSource=[datasource]) - - + contactDetails="https://github.com/Project-OMOTES") + esh.energy_system.energySystemInformation.dataSources = esdl.DataSources(id=str(uuid.uuid4()), + dataSource=[ + datasource]) capabilities = [esdl.Transport, esdl.Conversion, esdl.Consumer, esdl.Producer] for carrier_id in series_per_asset_id_per_carrier_id: From 24be3c985b0a129c11bc295705fdabbe4db01d31 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:22:37 +0200 Subject: [PATCH 05/22] fixed linting error --- src/simulator_worker/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index d03a404..640d791 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -243,7 +243,8 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: datasource = esdl.esdl.DataSource(name="Omotes simulator core run", id=str(uuid.uuid4()), - description="This profile is a simulation results obtained with teh Omotes simualtor core", + description="This profile is a simulation results obtained " + "with the Omotes simulator core", reference="https://simulator-core.readthedocs.io/en/latest/", releaseDate=datetime.now(), version="0.21", From 32b3c0bc394dd93dfeb44154559233c59a80e3d6 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 9 Oct 2025 10:51:29 +0200 Subject: [PATCH 06/22] Upgraded simulator core to latest version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 179a089..7db52d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", "omotes-sdk-python ~= 4.3.1", - "omotes-simulator-core==0.0.21", + "omotes-simulator-core==0.0.22", "pyesdl==25.5.1", "pandas ~= 2.2.2" ] From 52df70f7e2fa81540c3c0f95e9064a9d0b1f1887 Mon Sep 17 00:00:00 2001 From: Mark Vrijlandt Date: Fri, 10 Oct 2025 17:51:15 +0200 Subject: [PATCH 07/22] update omotes-sdk-python and pyesdl --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3abdf51..8e03388 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,9 +21,9 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", - "omotes-sdk-python ~= 4.1.0", + "omotes-sdk-python ~= 4.3.1", "omotes-simulator-core==0.0.20", - "pyesdl==24.2.0", + "pyesdl==25.5.1", "pandas ~= 2.2.2" ] From fdb5a7a778c586b3b67c61b99758b69aa1a1b3c2 Mon Sep 17 00:00:00 2001 From: Mark Vrijlandt Date: Fri, 10 Oct 2025 18:22:07 +0200 Subject: [PATCH 08/22] updated deps --- dev-requirements.txt | 212 +++++++++++++++++++++---------------------- pyproject.toml | 2 +- requirements.txt | 66 +++++++------- 3 files changed, 138 insertions(+), 142 deletions(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index e95cea9..6f99ed1 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,46 +1,46 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --constraint='..\..\requirements.txt' --extra=dev --output-file='..\..\dev-requirements.txt' '..\..\pyproject.toml' +# pip-compile --constraint=requirements.txt --extra=dev --output-file=dev-requirements.txt pyproject.toml # aio-pika==9.4.3 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-sdk-python aiormq==6.8.1 # via - # -c ..\..\requirements.txt + # -c requirements.txt # aio-pika amqp==5.3.1 # via - # -c ..\..\requirements.txt + # -c requirements.txt # kombu -attrs==25.3.0 +attrs==25.4.0 # via flake8-bugbear -billiard==4.2.1 +billiard==4.2.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # celery black==24.10.0 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) build==1.2.2.post1 - # via simulator-worker (..\..\pyproject.toml) -celery==5.5.1 + # via simulator-worker (pyproject.toml) +celery==5.5.3 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-sdk-python -certifi==2025.1.31 +certifi==2025.10.5 # via - # -c ..\..\requirements.txt + # -c requirements.txt # requests -charset-normalizer==3.4.1 +charset-normalizer==3.4.3 # via - # -c ..\..\requirements.txt + # -c requirements.txt # requests -click==8.1.8 +click==8.3.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # black # celery # click-didyoumean @@ -48,31 +48,25 @@ click==8.1.8 # click-repl click-didyoumean==0.3.1 # via - # -c ..\..\requirements.txt + # -c requirements.txt # celery -click-plugins==1.1.1 +click-plugins==1.1.1.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # celery click-repl==0.3.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # celery -colorama==0.4.6 - # via - # -c ..\..\requirements.txt - # build - # click - # pytest coolprop==6.6.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-simulator-core -coverage[toml]==7.8.0 +coverage[toml]==7.10.7 # via pytest-cov dataclass-wizard==0.22.3 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-simulator-core flake8==7.1.1 # via @@ -81,219 +75,221 @@ flake8==7.1.1 # flake8-pyproject # flake8-quotes # flake8-tuple - # simulator-worker (..\..\pyproject.toml) + # simulator-worker (pyproject.toml) flake8-bugbear==24.10.31 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) flake8-docstrings==1.7.0 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) flake8-mock==0.4 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) flake8-pyproject==1.2.3 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) flake8-quotes==3.4.0 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) flake8-tuple==0.4.1 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) future-fstrings==1.2.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # pyecore idna==3.10 # via - # -c ..\..\requirements.txt + # -c requirements.txt # requests # yarl influxdb==5.3.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-simulator-core iniconfig==2.1.0 # via pytest isort==5.13.2 - # via simulator-worker (..\..\pyproject.toml) -kombu==5.5.2 + # via simulator-worker (pyproject.toml) +kombu==5.5.4 # via - # -c ..\..\requirements.txt + # -c requirements.txt # celery -lxml==5.3.2 +lxml==6.0.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # pyecore mccabe==0.7.0 # via flake8 -msgpack==1.1.0 +msgpack==1.1.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # influxdb -multidict==6.4.3 +multidict==6.7.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # yarl mypy==1.13.0 - # via simulator-worker (..\..\pyproject.toml) -mypy-extensions==1.0.0 + # via simulator-worker (pyproject.toml) +mypy-extensions==1.1.0 # via # black # mypy numpy==2.1.3 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-simulator-core # pandas # pandas-stubs # scipy -omotes-sdk-protocol==1.1.0 +omotes-sdk-protocol==1.2.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-sdk-python -omotes-sdk-python==4.1.0 +omotes-sdk-python==4.3.1 # via - # -c ..\..\requirements.txt - # simulator-worker (..\..\pyproject.toml) -omotes-simulator-core==0.0.20 + # -c requirements.txt + # simulator-worker (pyproject.toml) +omotes-simulator-core==0.0.21 # via - # -c ..\..\requirements.txt - # simulator-worker (..\..\pyproject.toml) + # -c requirements.txt + # simulator-worker (pyproject.toml) ordered-set==4.1.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # pyecore -packaging==24.2 +packaging==25.0 # via + # -c requirements.txt # black # build + # kombu # pytest # setuptools-git-versioning pamqp==3.3.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # aiormq # omotes-sdk-python pandas==2.2.3 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-simulator-core - # simulator-worker (..\..\pyproject.toml) + # simulator-worker (pyproject.toml) pandas-stubs==2.1.4.231227 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) pathspec==0.12.1 # via black -platformdirs==4.3.7 +platformdirs==4.5.0 # via black -pluggy==1.5.0 +pluggy==1.6.0 # via pytest -prompt-toolkit==3.0.50 +prompt-toolkit==3.0.52 # via - # -c ..\..\requirements.txt + # -c requirements.txt # click-repl -propcache==0.3.1 +propcache==0.4.1 # via - # -c ..\..\requirements.txt + # -c requirements.txt # yarl -protobuf==5.29.4 +protobuf==5.29.5 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-sdk-protocol pycodestyle==2.12.1 # via flake8 pydocstyle==6.3.0 # via flake8-docstrings -pyecore==0.12.1 +pyecore==0.13.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # pyesdl -pyesdl==24.2 +pyesdl==25.5.1 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-sdk-python # omotes-simulator-core - # simulator-worker (..\..\pyproject.toml) + # simulator-worker (pyproject.toml) pyflakes==3.2.0 # via flake8 pyjnius==1.6.1 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-simulator-core pyproject-hooks==1.2.0 # via build pytest==8.3.5 # via # pytest-cov - # simulator-worker (..\..\pyproject.toml) + # simulator-worker (pyproject.toml) pytest-cov==6.0.0 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) python-dateutil==2.9.0.post0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # celery # influxdb # pandas python-dotenv==1.0.1 # via - # -c ..\..\requirements.txt - # simulator-worker (..\..\pyproject.toml) + # -c requirements.txt + # simulator-worker (pyproject.toml) pytz==2025.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # influxdb # pandas -requests==2.32.3 +requests==2.32.5 # via - # -c ..\..\requirements.txt + # -c requirements.txt # influxdb -restrictedpython==8.1a1.dev0 +restrictedpython==8.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # pyecore scipy==1.14.1 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-simulator-core setuptools-git-versioning==2.1.0 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) six==1.17.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # flake8-tuple # influxdb # python-dateutil -snowballstemmer==2.2.0 +snowballstemmer==3.0.1 # via pydocstyle streamcapture==1.2.5 # via - # -c ..\..\requirements.txt + # -c requirements.txt # omotes-sdk-python -types-pytz==2025.2.0.20250326 +types-pytz==2025.2.0.20250809 # via pandas-stubs -typing-extensions==4.13.2 +typing-extensions==4.15.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # mypy # omotes-sdk-python tzdata==2025.2 # via - # -c ..\..\requirements.txt + # -c requirements.txt # kombu # pandas -urllib3==2.4.0 +urllib3==2.5.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # requests vine==5.1.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # amqp # celery # kombu -wcwidth==0.2.13 +wcwidth==0.2.14 # via - # -c ..\..\requirements.txt + # -c requirements.txt # prompt-toolkit wheel==0.45.1 - # via simulator-worker (..\..\pyproject.toml) -yarl==1.19.0 + # via simulator-worker (pyproject.toml) +yarl==1.22.0 # via - # -c ..\..\requirements.txt + # -c requirements.txt # aio-pika # aiormq diff --git a/pyproject.toml b/pyproject.toml index 179a089..39ce2f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] authors = [{ name = "Michiel Tukker", email = "michiel.tukker@deltares.nl" }] description = "Nieuwe Warmte Nu / OMOTES: simulator-worker." readme = "README.md" -license = {file = "LICENSE"} +license = { file = "LICENSE" } classifiers = [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3", diff --git a/requirements.txt b/requirements.txt index 7e6460b..f1322ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --output-file='..\..\requirements.txt' '..\..\pyproject.toml' +# pip-compile --output-file=requirements.txt pyproject.toml # aio-pika==9.4.3 # via omotes-sdk-python @@ -10,15 +10,15 @@ aiormq==6.8.1 # via aio-pika amqp==5.3.1 # via kombu -billiard==4.2.1 +billiard==4.2.2 # via celery -celery==5.5.1 +celery==5.5.3 # via omotes-sdk-python -certifi==2025.1.31 +certifi==2025.10.5 # via requests -charset-normalizer==3.4.1 +charset-normalizer==3.4.3 # via requests -click==8.1.8 +click==8.3.0 # via # celery # click-didyoumean @@ -26,12 +26,10 @@ click==8.1.8 # click-repl click-didyoumean==0.3.1 # via celery -click-plugins==1.1.1 +click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -colorama==0.4.6 - # via click coolprop==6.6.0 # via omotes-simulator-core dataclass-wizard==0.22.3 @@ -44,27 +42,29 @@ idna==3.10 # yarl influxdb==5.3.2 # via omotes-simulator-core -kombu==5.5.2 +kombu==5.5.4 # via celery -lxml==5.3.2 +lxml==6.0.2 # via pyecore -msgpack==1.1.0 +msgpack==1.1.2 # via influxdb -multidict==6.4.3 +multidict==6.7.0 # via yarl numpy==2.1.3 # via # omotes-simulator-core # pandas # scipy -omotes-sdk-protocol==1.1.0 +omotes-sdk-protocol==1.2.0 # via omotes-sdk-python -omotes-sdk-python==4.1.0 - # via simulator-worker (..\..\pyproject.toml) -omotes-simulator-core==0.0.20 - # via simulator-worker (..\..\pyproject.toml) +omotes-sdk-python==4.3.1 + # via simulator-worker (pyproject.toml) +omotes-simulator-core==0.0.21 + # via simulator-worker (pyproject.toml) ordered-set==4.1.0 # via pyecore +packaging==25.0 + # via kombu pamqp==3.3.0 # via # aiormq @@ -72,20 +72,20 @@ pamqp==3.3.0 pandas==2.2.3 # via # omotes-simulator-core - # simulator-worker (..\..\pyproject.toml) -prompt-toolkit==3.0.50 + # simulator-worker (pyproject.toml) +prompt-toolkit==3.0.52 # via click-repl -propcache==0.3.1 +propcache==0.4.1 # via yarl -protobuf==5.29.4 +protobuf==5.29.5 # via omotes-sdk-protocol -pyecore==0.12.1 +pyecore==0.13.2 # via pyesdl -pyesdl==24.2 +pyesdl==25.5.1 # via # omotes-sdk-python # omotes-simulator-core - # simulator-worker (..\..\pyproject.toml) + # simulator-worker (pyproject.toml) pyjnius==1.6.1 # via omotes-simulator-core python-dateutil==2.9.0.post0 @@ -94,14 +94,14 @@ python-dateutil==2.9.0.post0 # influxdb # pandas python-dotenv==1.0.1 - # via simulator-worker (..\..\pyproject.toml) + # via simulator-worker (pyproject.toml) pytz==2025.2 # via # influxdb # pandas -requests==2.32.3 +requests==2.32.5 # via influxdb -restrictedpython==8.1a1.dev0 +restrictedpython==8.0 # via pyecore scipy==1.14.1 # via omotes-simulator-core @@ -111,22 +111,22 @@ six==1.17.0 # python-dateutil streamcapture==1.2.5 # via omotes-sdk-python -typing-extensions==4.13.2 +typing-extensions==4.15.0 # via omotes-sdk-python tzdata==2025.2 # via # kombu # pandas -urllib3==2.4.0 +urllib3==2.5.0 # via requests vine==5.1.0 # via # amqp # celery # kombu -wcwidth==0.2.13 +wcwidth==0.2.14 # via prompt-toolkit -yarl==1.19.0 +yarl==1.22.0 # via # aio-pika # aiormq From bec866d3412709e10771bc8b444dc454f011e7d5 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:01:27 +0200 Subject: [PATCH 09/22] Added datasource to the profile and added input type. --- src/simulator_worker/utils.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index 19c08ec..de3791f 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -241,6 +241,17 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: series_for_asset_id_for_carrier = series_per_asset_id_for_carrier.setdefault(asset_id, []) series_for_asset_id_for_carrier.append((series_name, port)) + datasource = esdl.esdl.DataSource(name="Omotes simulator core run", + description="......", + reference="......", + attribution="......", + releaseDate=datetime.now(), + version="0.21", + license="n/a", + author="Deltares/TNO", + contactDetails="you do not get the secrets easily") + reference = esdl.esdl.DataSourceReference(reference=datasource) + capabilities = [esdl.Transport, esdl.Conversion, esdl.Consumer, esdl.Producer] for carrier_id in series_per_asset_id_per_carrier_id: for asset_id in series_per_asset_id_per_carrier_id[carrier_id]: @@ -267,7 +278,9 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: startDate=simulation_result.index[0], endDate=simulation_result.index[-1], id=str(uuid.uuid4()), - filters=f"\"assetId\"='{asset_id}'" + filters=f"\"assetId\"='{asset_id}'", + profileType=esdl.ProfileTypeEnum.INPUT, + dataSource=reference ) profile_attributes.profileQuantityAndUnit = get_profileQuantityAndUnit(profile_name) From a253cd84f773f8787f32cdbe01992e7bf133fc9b Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:13:45 +0200 Subject: [PATCH 10/22] Added datasources to the esdl and put reference creation in the loop so it is crreated for each profile --- src/simulator_worker/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index de3791f..1abf02e 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -250,7 +250,9 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: license="n/a", author="Deltares/TNO", contactDetails="you do not get the secrets easily") - reference = esdl.esdl.DataSourceReference(reference=datasource) + esh.energy_system.energySystemInformation.dataSources = esdl.DataSources(id=str(uuid.uuid4()), dataSource=[datasource]) + + capabilities = [esdl.Transport, esdl.Conversion, esdl.Consumer, esdl.Producer] for carrier_id in series_per_asset_id_per_carrier_id: @@ -267,7 +269,7 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: for series_name, port in series_per_asset_id_per_carrier_id[carrier_id][asset_id]: # Add profile to esdl profile_name = series_name[1] - + reference = esdl.esdl.DataSourceReference(reference=datasource) profiles.profile_header.append(profile_name) profile_attributes = esdl.InfluxDBProfile( database=output_uuid, From ab23c13439a3c01fb701bb67660ebfaede87d66c Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:19:05 +0200 Subject: [PATCH 11/22] Corrected info in the datasource --- src/simulator_worker/utils.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index 1abf02e..d03a404 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -242,17 +242,17 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: series_for_asset_id_for_carrier.append((series_name, port)) datasource = esdl.esdl.DataSource(name="Omotes simulator core run", - description="......", - reference="......", - attribution="......", + id=str(uuid.uuid4()), + description="This profile is a simulation results obtained with teh Omotes simualtor core", + reference="https://simulator-core.readthedocs.io/en/latest/", releaseDate=datetime.now(), version="0.21", - license="n/a", + license="GNU GENERAL PUBLIC LICENSE", author="Deltares/TNO", - contactDetails="you do not get the secrets easily") - esh.energy_system.energySystemInformation.dataSources = esdl.DataSources(id=str(uuid.uuid4()), dataSource=[datasource]) - - + contactDetails="https://github.com/Project-OMOTES") + esh.energy_system.energySystemInformation.dataSources = esdl.DataSources(id=str(uuid.uuid4()), + dataSource=[ + datasource]) capabilities = [esdl.Transport, esdl.Conversion, esdl.Consumer, esdl.Producer] for carrier_id in series_per_asset_id_per_carrier_id: From 1615eb5bee16dd347ac87672f809e662b5c229f2 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 2 Oct 2025 15:22:37 +0200 Subject: [PATCH 12/22] fixed linting error --- src/simulator_worker/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index d03a404..640d791 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -243,7 +243,8 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: datasource = esdl.esdl.DataSource(name="Omotes simulator core run", id=str(uuid.uuid4()), - description="This profile is a simulation results obtained with teh Omotes simualtor core", + description="This profile is a simulation results obtained " + "with the Omotes simulator core", reference="https://simulator-core.readthedocs.io/en/latest/", releaseDate=datetime.now(), version="0.21", From a563afac14600a91844d548f5f2acca48102f6a8 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 9 Oct 2025 10:51:29 +0200 Subject: [PATCH 13/22] Upgraded simulator core to latest version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 39ce2f6..1aff021 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", "omotes-sdk-python ~= 4.3.1", - "omotes-simulator-core==0.0.21", + "omotes-simulator-core==0.0.22", "pyesdl==25.5.1", "pandas ~= 2.2.2" ] From d1753cf4348c098da9b22b76f1c2c50b09a7411c Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Fri, 17 Oct 2025 16:45:10 +0200 Subject: [PATCH 14/22] Updated to use pyesdl newest version --- dev-requirements.txt | 158 +++++++++++++++++++++++-------------------- pyproject.toml | 6 +- requirements.txt | 24 ++++--- 3 files changed, 101 insertions(+), 87 deletions(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index 6f99ed1..713ed01 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,46 +1,46 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile --constraint=requirements.txt --extra=dev --output-file=dev-requirements.txt pyproject.toml +# pip-compile --constraint='..\..\requirements.txt' --extra=dev --output-file='..\..\dev-requirements.txt' '..\..\pyproject.toml' # aio-pika==9.4.3 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-sdk-python aiormq==6.8.1 # via - # -c requirements.txt + # -c ..\..\requirements.txt # aio-pika amqp==5.3.1 # via - # -c requirements.txt + # -c ..\..\requirements.txt # kombu attrs==25.4.0 # via flake8-bugbear billiard==4.2.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # celery black==24.10.0 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) build==1.2.2.post1 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) celery==5.5.3 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-sdk-python certifi==2025.10.5 # via - # -c requirements.txt + # -c ..\..\requirements.txt # requests charset-normalizer==3.4.3 # via - # -c requirements.txt + # -c ..\..\requirements.txt # requests click==8.3.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # black # celery # click-didyoumean @@ -48,25 +48,31 @@ click==8.3.0 # click-repl click-didyoumean==0.3.1 # via - # -c requirements.txt + # -c ..\..\requirements.txt # celery click-plugins==1.1.1.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # celery click-repl==0.3.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # celery +colorama==0.4.6 + # via + # -c ..\..\requirements.txt + # build + # click + # pytest coolprop==6.6.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-simulator-core coverage[toml]==7.10.7 # via pytest-cov dataclass-wizard==0.22.3 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-simulator-core flake8==7.1.1 # via @@ -75,86 +81,90 @@ flake8==7.1.1 # flake8-pyproject # flake8-quotes # flake8-tuple - # simulator-worker (pyproject.toml) + # simulator-worker (..\..\pyproject.toml) flake8-bugbear==24.10.31 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) flake8-docstrings==1.7.0 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) flake8-mock==0.4 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) flake8-pyproject==1.2.3 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) flake8-quotes==3.4.0 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) flake8-tuple==0.4.1 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) future-fstrings==1.2.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # pyecore idna==3.10 # via - # -c requirements.txt + # -c ..\..\requirements.txt # requests # yarl influxdb==5.3.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-simulator-core iniconfig==2.1.0 # via pytest isort==5.13.2 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) kombu==5.5.4 # via - # -c requirements.txt + # -c ..\..\requirements.txt # celery lxml==6.0.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # pyecore mccabe==0.7.0 # via flake8 msgpack==1.1.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # influxdb multidict==6.7.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # yarl mypy==1.13.0 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) mypy-extensions==1.1.0 # via # black # mypy +networkx==2.7.1 + # via + # -c ..\..\requirements.txt + # omotes-simulator-core numpy==2.1.3 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-simulator-core # pandas # pandas-stubs # scipy omotes-sdk-protocol==1.2.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-sdk-python -omotes-sdk-python==4.3.1 +omotes-sdk-python==4.3.2 # via - # -c requirements.txt - # simulator-worker (pyproject.toml) -omotes-simulator-core==0.0.21 + # -c ..\..\requirements.txt + # simulator-worker (..\..\pyproject.toml) +omotes-simulator-core==0.0.24 # via - # -c requirements.txt - # simulator-worker (pyproject.toml) + # -c ..\..\requirements.txt + # simulator-worker (..\..\pyproject.toml) ordered-set==4.1.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # pyecore packaging==25.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # black # build # kombu @@ -162,16 +172,16 @@ packaging==25.0 # setuptools-git-versioning pamqp==3.3.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # aiormq # omotes-sdk-python pandas==2.2.3 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-simulator-core - # simulator-worker (pyproject.toml) + # simulator-worker (..\..\pyproject.toml) pandas-stubs==2.1.4.231227 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) pathspec==0.12.1 # via black platformdirs==4.5.0 @@ -180,15 +190,15 @@ pluggy==1.6.0 # via pytest prompt-toolkit==3.0.52 # via - # -c requirements.txt + # -c ..\..\requirements.txt # click-repl propcache==0.4.1 # via - # -c requirements.txt + # -c ..\..\requirements.txt # yarl protobuf==5.29.5 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-sdk-protocol pycodestyle==2.12.1 # via flake8 @@ -196,60 +206,60 @@ pydocstyle==6.3.0 # via flake8-docstrings pyecore==0.13.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # pyesdl -pyesdl==25.5.1 +pyesdl==25.7 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-sdk-python # omotes-simulator-core - # simulator-worker (pyproject.toml) + # simulator-worker (..\..\pyproject.toml) pyflakes==3.2.0 # via flake8 pyjnius==1.6.1 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-simulator-core pyproject-hooks==1.2.0 # via build pytest==8.3.5 # via # pytest-cov - # simulator-worker (pyproject.toml) + # simulator-worker (..\..\pyproject.toml) pytest-cov==6.0.0 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) python-dateutil==2.9.0.post0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # celery # influxdb # pandas python-dotenv==1.0.1 # via - # -c requirements.txt - # simulator-worker (pyproject.toml) + # -c ..\..\requirements.txt + # simulator-worker (..\..\pyproject.toml) pytz==2025.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # influxdb # pandas requests==2.32.5 # via - # -c requirements.txt + # -c ..\..\requirements.txt # influxdb restrictedpython==8.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # pyecore scipy==1.14.1 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-simulator-core setuptools-git-versioning==2.1.0 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) six==1.17.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # flake8-tuple # influxdb # python-dateutil @@ -257,39 +267,39 @@ snowballstemmer==3.0.1 # via pydocstyle streamcapture==1.2.5 # via - # -c requirements.txt + # -c ..\..\requirements.txt # omotes-sdk-python types-pytz==2025.2.0.20250809 # via pandas-stubs typing-extensions==4.15.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # mypy # omotes-sdk-python tzdata==2025.2 # via - # -c requirements.txt + # -c ..\..\requirements.txt # kombu # pandas urllib3==2.5.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # requests vine==5.1.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # amqp # celery # kombu wcwidth==0.2.14 # via - # -c requirements.txt + # -c ..\..\requirements.txt # prompt-toolkit wheel==0.45.1 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) yarl==1.22.0 # via - # -c requirements.txt + # -c ..\..\requirements.txt # aio-pika # aiormq diff --git a/pyproject.toml b/pyproject.toml index 1aff021..a3479cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,9 +21,9 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", - "omotes-sdk-python ~= 4.3.1", - "omotes-simulator-core==0.0.22", - "pyesdl==25.5.1", + "omotes-sdk-python ~= 4.3.2", + "omotes-simulator-core==0.0.24", + "pyesdl==25.7", "pandas ~= 2.2.2" ] diff --git a/requirements.txt b/requirements.txt index f1322ea..8601071 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile --output-file=requirements.txt pyproject.toml +# pip-compile --output-file='..\..\requirements.txt' '..\..\pyproject.toml' # aio-pika==9.4.3 # via omotes-sdk-python @@ -30,6 +30,8 @@ click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery +colorama==0.4.6 + # via click coolprop==6.6.0 # via omotes-simulator-core dataclass-wizard==0.22.3 @@ -50,6 +52,8 @@ msgpack==1.1.2 # via influxdb multidict==6.7.0 # via yarl +networkx==2.7.1 + # via omotes-simulator-core numpy==2.1.3 # via # omotes-simulator-core @@ -57,10 +61,10 @@ numpy==2.1.3 # scipy omotes-sdk-protocol==1.2.0 # via omotes-sdk-python -omotes-sdk-python==4.3.1 - # via simulator-worker (pyproject.toml) -omotes-simulator-core==0.0.21 - # via simulator-worker (pyproject.toml) +omotes-sdk-python==4.3.2 + # via simulator-worker (..\..\pyproject.toml) +omotes-simulator-core==0.0.24 + # via simulator-worker (..\..\pyproject.toml) ordered-set==4.1.0 # via pyecore packaging==25.0 @@ -72,7 +76,7 @@ pamqp==3.3.0 pandas==2.2.3 # via # omotes-simulator-core - # simulator-worker (pyproject.toml) + # simulator-worker (..\..\pyproject.toml) prompt-toolkit==3.0.52 # via click-repl propcache==0.4.1 @@ -81,11 +85,11 @@ protobuf==5.29.5 # via omotes-sdk-protocol pyecore==0.13.2 # via pyesdl -pyesdl==25.5.1 +pyesdl==25.7 # via # omotes-sdk-python # omotes-simulator-core - # simulator-worker (pyproject.toml) + # simulator-worker (..\..\pyproject.toml) pyjnius==1.6.1 # via omotes-simulator-core python-dateutil==2.9.0.post0 @@ -94,7 +98,7 @@ python-dateutil==2.9.0.post0 # influxdb # pandas python-dotenv==1.0.1 - # via simulator-worker (pyproject.toml) + # via simulator-worker (..\..\pyproject.toml) pytz==2025.2 # via # influxdb From 14a09b87088d9b49e8f36bc5e846734af4339ba2 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Mon, 20 Oct 2025 10:36:23 +0200 Subject: [PATCH 15/22] Set versiion correct and set output isntead of input --- src/simulator_worker/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index 640d791..22748ed 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -247,7 +247,7 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: "with the Omotes simulator core", reference="https://simulator-core.readthedocs.io/en/latest/", releaseDate=datetime.now(), - version="0.21", + version=omotes_simulator_core.__version__, license="GNU GENERAL PUBLIC LICENSE", author="Deltares/TNO", contactDetails="https://github.com/Project-OMOTES") @@ -282,7 +282,7 @@ def create_output_esdl(input_esdl: str, simulation_result: pd.DataFrame) -> str: endDate=simulation_result.index[-1], id=str(uuid.uuid4()), filters=f"\"assetId\"='{asset_id}'", - profileType=esdl.ProfileTypeEnum.INPUT, + profileType=esdl.ProfileTypeEnum.OUTPUT, dataSource=reference ) From 35dbf80ff35df5bafc0fcdfe7b3a8a1feae57432 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Mon, 20 Oct 2025 10:49:24 +0200 Subject: [PATCH 16/22] Added missing import --- src/simulator_worker/utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/simulator_worker/utils.py b/src/simulator_worker/utils.py index 22748ed..0a865b9 100644 --- a/src/simulator_worker/utils.py +++ b/src/simulator_worker/utils.py @@ -14,6 +14,7 @@ # along with this program. If not, see . """utility functions for simulator-worker.""" import logging +import omotes_simulator_core import os import uuid from datetime import datetime From 59495d27f25c685d6ed2a61555dfcb6c5b667ae1 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Thu, 23 Oct 2025 10:00:31 +0200 Subject: [PATCH 17/22] Increased version number of simulator core --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a3479cb..900fa63 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", "omotes-sdk-python ~= 4.3.2", - "omotes-simulator-core==0.0.24", + "omotes-simulator-core==0.0.25", "pyesdl==25.7", "pandas ~= 2.2.2" ] From 07e797f2e8369e2f2e15cf041bee782ad062998d Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Fri, 24 Oct 2025 14:22:28 +0200 Subject: [PATCH 18/22] Increased version nuber of java and simulator core --- Dockerfile | 4 ++-- pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9ba5d0e..4c93bb0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,9 @@ FROM python:3.11-slim-bookworm WORKDIR /app/simulator_worker -# Install OpenJDK-17 +# Install OpenJDK-21 RUN apt-get -y update && \ - apt-get install -y openjdk-17-jdk && \ + apt-get install -y openjdk-21-jdk && \ apt-get clean; COPY . /app/simulator_worker/ diff --git a/pyproject.toml b/pyproject.toml index 900fa63..54bfccb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", "omotes-sdk-python ~= 4.3.2", - "omotes-simulator-core==0.0.25", + "omotes-simulator-core==0.0.26", "pyesdl==25.7", "pandas ~= 2.2.2" ] From 8c37a6d8c521e60aeeccb8b47a6465fd3825d34d Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Fri, 24 Oct 2025 15:07:07 +0200 Subject: [PATCH 19/22] Changed to JAVA 21, --- Dockerfile | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4c93bb0..9f34b21 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,10 +2,20 @@ FROM python:3.11-slim-bookworm WORKDIR /app/simulator_worker -# Install OpenJDK-21 -RUN apt-get -y update && \ - apt-get install -y openjdk-21-jdk && \ - apt-get clean; + +# Install required tools and OpenJDK 21 manually +RUN apt-get update && \ + apt-get install -y wget tar ca-certificates && \ + apt-get clean && \ + wget https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gz && \ + tar -xzf openjdk-21.0.2_linux-x64_bin.tar.gz && \ + mv jdk-21.0.2 /usr/local/openjdk-21 && \ + rm openjdk-21.0.2_linux-x64_bin.tar.gz + +# Set environment variables for Java +ENV JAVA_HOME=/usr/local/openjdk-21 +ENV PATH="$JAVA_HOME/bin:$PATH" + COPY . /app/simulator_worker/ WORKDIR /app/simulator_worker From 9dcc5a0100ccb2ad257e7ed08435edba244d16bb Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Fri, 14 Nov 2025 10:00:47 +0100 Subject: [PATCH 20/22] Increased to use lates release of simulator core --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 54bfccb..63457dc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", "omotes-sdk-python ~= 4.3.2", - "omotes-simulator-core==0.0.26", + "omotes-simulator-core==0.0.27", "pyesdl==25.7", "pandas ~= 2.2.2" ] From 06380da2e6c0a020aaa4c87cfaf5abebf734c9d3 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Mon, 8 Dec 2025 20:21:49 +0100 Subject: [PATCH 21/22] Upgrade to latest version of simualtor core --- pyproject.toml | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 63457dc..20e3cd4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ dependencies = [ "python-dotenv ~= 1.0.0", "omotes-sdk-python ~= 4.3.2", - "omotes-simulator-core==0.0.27", + "omotes-simulator-core==0.0.28", "pyesdl==25.7", "pandas ~= 2.2.2" ] diff --git a/requirements.txt b/requirements.txt index 8601071..2f0d178 100644 --- a/requirements.txt +++ b/requirements.txt @@ -63,7 +63,7 @@ omotes-sdk-protocol==1.2.0 # via omotes-sdk-python omotes-sdk-python==4.3.2 # via simulator-worker (..\..\pyproject.toml) -omotes-simulator-core==0.0.24 +omotes-simulator-core==0.0.28 # via simulator-worker (..\..\pyproject.toml) ordered-set==4.1.0 # via pyecore From 1b5c6aeb781ef59aa7600564ca7d69388795c5e8 Mon Sep 17 00:00:00 2001 From: Sam van der Zwan Date: Mon, 8 Dec 2025 20:24:29 +0100 Subject: [PATCH 22/22] update dev requriements --- dev-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index 713ed01..36672d2 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -154,7 +154,7 @@ omotes-sdk-python==4.3.2 # via # -c ..\..\requirements.txt # simulator-worker (..\..\pyproject.toml) -omotes-simulator-core==0.0.24 +omotes-simulator-core==0.0.28 # via # -c ..\..\requirements.txt # simulator-worker (..\..\pyproject.toml)