Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
8f3a5fc
[OMParser] cleanup usage of Dict
syntron Dec 2, 2025
9a21043
[OMParser] remove import sys
syntron Feb 7, 2026
0ae0a4b
[OMParser] basic pylint fixes
syntron Dec 2, 2025
e9c5b07
[OMParser] optimise code in make_values()
syntron Dec 2, 2025
52e522d
[ModelExecution*] create classes to handle model execution
syntron Jan 18, 2026
c592e39
[test_ModelicaSystemCmd] update unittest
syntron Jan 18, 2026
598aabb
[ModelExecutionData] include the original exception if reraised as Mo…
syntron Jan 24, 2026
6f692e4
[OMCPathReal] remove dummy function stat()
syntron Jan 18, 2026
b694ec0
[OMCSession] add get_version() and get_workdir()
syntron Jan 18, 2026
57d9768
[ModelicaSystem] update handling of outputs and continuous data
syntron Jan 20, 2026
931405c
[ModelicaSystem] use KeyError in getOutputsFinal()
syntron Jan 21, 2026
56a1d09
[ModelicaSystem] use KeyError in getContinuousFinal()
syntron Jan 21, 2026
bf7ac80
[ModelicaSystem] fix docstring of getContinuous()
syntron Jan 21, 2026
1cf9d37
[test_ModelicaSystem.py] needed changes due to update of output / con…
syntron Jan 20, 2026
9641ad4
[ModelicaSystemDoE] simplify definition; use a Modelicasystem instanc…
syntron Jan 18, 2026
9599b3f
[ModelicaSystemDoE] update docstring
syntron Jan 18, 2026
4ebe762
[ModelicaSystemDoE] fix for relative paths
syntron Jan 18, 2026
6f89459
[ModelicaSystemOMC] add docstring for sendExpression()
syntron Jan 24, 2026
5439eb3
[ModelicaSystemBase] define parse_om_version() as staticmethod
syntron Jan 21, 2026
e1f5a63
[ModelicaSystemBase] include the original exception if reraised as Mo…
syntron Jan 24, 2026
f70c37c
[OMCSession] fix import order; zmq is a 3rd party package
syntron Jan 21, 2026
7be0970
[OMCSession] use function keyword arguments if possible
syntron Jan 18, 2026
2b1290f
[ModelicaSystem] use function keyword arguments if possible
syntron Jan 18, 2026
ea6fad5
update docstring of __init__.py - do not promote depreciated OMCSessi…
syntron Jan 9, 2026
7c949d6
reorder imports in __init__.py
syntron Nov 8, 2025
e078fa3
[OMCSession] align definition of sendExpression() - use expr (was: co…
syntron Jan 24, 2026
bccf81e
tests from v4.0.0
syntron Feb 5, 2026
2d6c396
fix test_linearization from v4.0.0
syntron Feb 5, 2026
b716658
fix test_ModelicaSystem - needed adaptions:
syntron Feb 5, 2026
d66b4be
[OMParser] remove unused variables
syntron Feb 8, 2026
059fb6a
define test workflows for v400
syntron Feb 8, 2026
a7efcde
[OMTypedParser] fix PyparsingDeprecationWarning(s) + reorder imports
syntron Feb 8, 2026
8ff2023
[ModelicaSystemCmd] do not reuse variable names (okey/oval)
syntron Feb 10, 2026
4cf4505
[ModelicaSystemDoE] fix unittest
syntron Jan 18, 2026
396de77
[ModelicaSystem] fix usage of ModelicaSystemCmd
syntron Feb 17, 2026
f149753
[ModelicaSystem] define check_model_executable() - test if the model …
syntron Jan 20, 2026
265d601
Merge branch 'OMTypedParser' into OMPython@syntron
syntron Feb 17, 2026
14b669d
Merge branch 'ModelicaSystem_okey_oval' into OMPython@syntron
syntron Feb 17, 2026
62c0973
Merge branch 'OMCPath_remove_stat' into OMPython@syntron
syntron Feb 17, 2026
f0db34e
Merge branch 'OMCSession_small_fixes' into OMPython@syntron
syntron Feb 17, 2026
12be390
Merge branch 'OMCSession_sendExpression_rename_arg' into OMPython@syn…
syntron Feb 17, 2026
64c100d
Merge branch 'ModelicaSystem_cleanup' into OMPython@syntron
syntron Feb 17, 2026
7bfdbbe
Merge branch 'ModelicaSystem_getContinuous_getOutputs' into OMPython@…
syntron Feb 17, 2026
3c8c99e
Merge branch 'ModelicaSystem_small_fixes' into OMPython@syntron
syntron Feb 17, 2026
4243721
Merge branch 'use_function_keyword_arguments' into OMPython@syntron
syntron Feb 17, 2026
b66666f
Merge branch 'update_init_docstring' into OMPython@syntron
syntron Feb 17, 2026
86078e2
Merge branch 'reorder_imports' into OMPython@syntron
syntron Feb 17, 2026
83cf30c
Merge branch 'ModelicaSystemDoE' into OMPython@syntron
syntron Feb 17, 2026
71bce87
Merge branch 'ModelExecution' into OMPython@syntron
syntron Feb 17, 2026
1d5aed0
Merge branch 'ModelicaSystem_check_model_executable' into OMPython@sy…
syntron Feb 17, 2026
358743d
Merge branch 'test_v400' into OMPython@syntron
syntron Feb 17, 2026
6ff5f45
[ModelicaSystem] split ModelicaSystem into ModelicaSystemABC and Mode…
syntron Jan 24, 2026
9bfcd51
[ModelicaSystem] rename ModelicaSystem => ModelicaSystemOMC
syntron Jan 24, 2026
26da1e3
[test_ModelicaSystemOMC] rename from ModelicaSystem and update
syntron Jan 24, 2026
95a7f12
[test_*] use ModelicaSystemOMC
syntron Jan 24, 2026
5977b74
[ModelicaSystem*] fix last usages of ModelicaSystem() in comments & d…
syntron Jan 24, 2026
06b8e8c
[ModelicaSystem] split ModelicaSystemDoE into ModelicaDoEABC and Mode…
syntron Jan 24, 2026
16ea86f
[ModelicaSystem] rename ModelicaSystemDoE => ModelicaDoEOMC
syntron Jan 24, 2026
c28d3d5
[test_ModelicaDoEOMC] rename from ModelicaSystemDoE and update
syntron Jan 24, 2026
f6a4c67
[ModelicaSystem] update ModelicaDoEABC to use ModelicaSystemABC
syntron Jan 24, 2026
2691072
[ModelicaSystem] define doe_get_solutions() as separate method
syntron Jan 24, 2026
fe3794a
[OMCSession] update OMCPath to use OMPathABC as baseline and further …
syntron Jan 25, 2026
116ca87
[ModelicaSystem] shortcut to use OMCPath = OMPathABC for now
syntron Jan 25, 2026
7136eb9
[ModelicaSystem] fix usage of OMCPath; replace by OMPathABC
syntron Jan 26, 2026
147817b
[OMCSession] move OM(C)Path classes into the if cause
syntron Feb 8, 2026
2449605
[OMCSession] define and use OMPathBase
syntron Feb 8, 2026
0e14fb1
[OMCSession] align on OMPathABC; replace usage of OMPathBase
syntron Feb 8, 2026
5178c7b
[OMCSession] update OMCSession* to use OMSessionABC as baseline and f…
syntron Jan 26, 2026
685da09
[ModelicaSystem] shortcut to use OMCSession = OMSessionABC for now
syntron Jan 26, 2026
b3153d2
[ModelicaSystem] fix usage of OMCSession; replace by OMSessionABC
syntron Jan 26, 2026
e84d903
fix usage of OMCSession
syntron Feb 8, 2026
c16dd73
[OMSessionABC] fix OMCPath; rename to OMPathABC
syntron Feb 10, 2026
38063ae
[OMCSession] add *Runner related classes for OMPath and OMSession
syntron Jan 27, 2026
1cfcf54
[ModelicaSystem] add ModelicaSystemRunner
syntron Jan 27, 2026
941b7e9
[test_ModelicaSystemRunner] add test case for ModelicaSystemRunner
syntron Jan 27, 2026
00585ed
[ModelicaSystem] add ModelicaDoERunner
syntron Jan 27, 2026
4d41db4
[test_ModelicaDoERunner] add test case for ModelicaDoERunner
syntron Jan 27, 2026
eae790c
[OMCSession] move OMCPathRunner* into the if clause
syntron Feb 8, 2026
d3f07ac
[OMSessionRunner] fix usage of sendExpression()
syntron Feb 8, 2026
9d9a1fd
[__init__] add missing definitions for *Runner classes
syntron Feb 8, 2026
4751b2b
[ModelicaDoERunner] fix definition; allow all variations of ModelicaS…
syntron Feb 8, 2026
bd1b1c4
[test_ModelicaDoERunner] fix definition; test ModelicaSystem(OCM|Runner)
syntron Feb 8, 2026
8aa6f9c
[ModelicaDoEABC] add get_resultpath()
syntron Feb 8, 2026
05cd9b9
merge fix - [ModelExecution*] create classes to handle model execution
syntron Feb 17, 2026
b8b3c6e
[OM(C)SessionABC] small fixes
syntron Feb 9, 2026
999787e
[__init__] define OMSessionABC in the public interface
syntron Feb 9, 2026
91d6399
[OMCSessionZMQ] move class definition such that it can be derived fro…
syntron Feb 9, 2026
d25d6a4
[OMPathABC] improve definition
syntron Feb 9, 2026
9185765
[(_)OMCPath] improve definition
syntron Feb 9, 2026
5f3ae3c
[(_)OMPathRunnerLocal] improve definition
syntron Feb 9, 2026
6f358eb
[__init__] define OMPathRunnerLocal for public interface
syntron Feb 9, 2026
c14cb9d
[_OMPathRunnerBash] define class
syntron Feb 9, 2026
b235c28
[__init__] define OMPathRunnerBash for public interface
syntron Feb 9, 2026
0500722
[OMSessionRunner] update code such that it can be used by OMPathRunne…
syntron Feb 9, 2026
43f8c2f
[OMCSessionPort] fix timeout handling
syntron Feb 9, 2026
a54989d
[OMCSessionDocker*] improve data handling
syntron Feb 9, 2026
0f42e00
[OMCSessionWSL] define cmd_prefix
syntron Feb 9, 2026
84399d9
[OMCSessionWSL] layout fix
syntron Feb 9, 2026
206a0ce
[ModelicaSystemABC] reorder code in __init__()
syntron Feb 8, 2026
2a1b559
[ModelicaSystem*] linter fixes
syntron Feb 9, 2026
d2ca55b
[OMTypedParser] compatibility layer
syntron Feb 9, 2026
118694b
[__init__/OMCSession] prepare compatibility layer
syntron Feb 9, 2026
f07234f
[ModelicaSystem] define as compatibility layer
syntron Feb 9, 2026
81561ec
[ModelicaSystemCmd] define as compatibility layer
syntron Feb 9, 2026
1c10ee4
[test_*] reorder imports
syntron Feb 8, 2026
4bea954
[tests_ModelicaDoE*] fix pylint hint
syntron Feb 9, 2026
c69abb6
[tests_*] use OMSessionABC.get_version()
syntron Feb 9, 2026
902c2ab
[test_ModelicaSystemCmd] use get_model_name() instead of access to pr…
syntron Feb 9, 2026
14b1b4c
[test_ModelicaSystemOMC] read file using utf-8 encoding / linter fix
syntron Feb 9, 2026
0816e3b
[test_ModelicaSystemRunner] update test case
syntron Feb 9, 2026
74d1112
[test_OMCPath] update test case
syntron Feb 9, 2026
47845b5
add workflow to run unittests in ./tests
syntron Feb 8, 2026
425ffdd
[test_OMParser] use only the public interface => om_parser_basic()
syntron Feb 13, 2026
f51a918
[test_OMTypedParser] rename file / use om_parser_typed()
syntron Feb 13, 2026
7a2f74c
update tests - do NOT run test_FMIRegression.py
syntron Feb 13, 2026
621b45a
[test_ModelExecutionCmd] rename from test_ModelicaSystemCmd
syntron Feb 16, 2026
69e7e05
[ModelExecutionCmd] fix variable shadow
syntron Feb 13, 2026
fad0154
[ModelicaSystemCmd] add missing docstring
syntron Feb 13, 2026
e9b6609
[OMCSession] spelling fixes
syntron Feb 13, 2026
57b3f3e
[OMCSessionCmd] add warning about depreciated class
syntron Feb 13, 2026
02cf45b
[OMCSessionABC] remove duplicated code; see OMSessionABC
syntron Feb 13, 2026
954c77c
[OMSessionRunnerABC] define class
syntron Feb 13, 2026
a245bbd
[OMCSessionZMQ] call super()__init__()
syntron Feb 13, 2026
793c2c7
[OMCPath] fix forward dependency on OMCSessionLocal
syntron Feb 13, 2026
5cd9793
[OMSessionException] rename from OMCSessionException
syntron Feb 13, 2026
1ed71d4
[__init__] fix imports
syntron Feb 13, 2026
8756e92
[ModelExecution*] move classes into model_execution.py
syntron Feb 13, 2026
8489a32
[OMCSession] split file
syntron Feb 13, 2026
56a735c
[ModelicaSystem] split file
syntron Feb 13, 2026
219eae3
[README.md] small updates
syntron Feb 14, 2026
4568c87
[__init__] small updates
syntron Feb 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .github/workflows/Test_v400.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Test-v4.0.0

on:
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
# test for:
# * oldest supported version
# * latest available Python version
python-version: ['3.10', '3.14']
# * Linux using ubuntu-latest
# * Windows using windows-latest
os: ['ubuntu-latest', 'windows-latest']
# * OM stable - latest stable version
# * OM nightly - latest nightly build
omc-version: ['stable', 'nightly']

steps:
- uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'

- name: Install dependencies
run: |
python -m pip install --upgrade pip build setuptools wheel twine
pip install . pytest pytest-md pytest-emoji pre-commit

- name: Set timezone
uses: szenius/set-timezone@v2.0
with:
timezoneLinux: 'Europe/Berlin'

- name: Run pre-commit linters
run: 'pre-commit run --all-files'

- name: "Set up OpenModelica Compiler"
uses: OpenModelica/setup-openmodelica@v1.0.6
with:
version: ${{ matrix.omc-version }}
packages: |
omc
libraries: |
'Modelica 4.0.0'
- run: "omc --version"

- name: Pull OpenModelica docker image
if: runner.os != 'Windows'
run: docker pull openmodelica/openmodelica:v1.25.0-minimal

- name: Build wheel and sdist packages
run: python -m build --wheel --sdist --outdir dist

- name: Check twine
run: python -m twine check dist/*

- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
verbose: true
emoji: true
job-summary: true
custom-arguments: '-v ./tests_v400 --ignore=./tests_v400/test_FMIRegression.py'
click-to-expand: true
report-title: 'Test Report'
70 changes: 70 additions & 0 deletions .github/workflows/Test_v400_py310.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Test-v4.0.0-py310

on:
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
# test for:
# * oldest supported version
python-version: ['3.10']
# * Linux using ubuntu-latest
os: ['ubuntu-latest']
# * OM stable - latest stable version
omc-version: ['stable']

steps:
- uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'

- name: Install dependencies
run: |
python -m pip install --upgrade pip build setuptools wheel twine
pip install . pytest pytest-md pytest-emoji pre-commit

- name: Set timezone
uses: szenius/set-timezone@v2.0
with:
timezoneLinux: 'Europe/Berlin'

- name: Run pre-commit linters
run: 'pre-commit run --all-files'

- name: "Set up OpenModelica Compiler"
uses: OpenModelica/setup-openmodelica@v1.0.6
with:
version: ${{ matrix.omc-version }}
packages: |
omc
libraries: |
'Modelica 4.0.0'
- run: "omc --version"

- name: Pull OpenModelica docker image
if: runner.os != 'Windows'
run: docker pull openmodelica/openmodelica:v1.25.0-minimal

- name: Build wheel and sdist packages
run: python -m build --wheel --sdist --outdir dist

- name: Check twine
run: python -m twine check dist/*

- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
verbose: true
emoji: true
job-summary: true
custom-arguments: '-v ./tests_v400 --ignore=./tests_v400/test_FMIRegression.py'
click-to-expand: true
report-title: 'Test Report'
73 changes: 73 additions & 0 deletions .github/workflows/Test_v4xx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Test-v4.x.x

on:
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
# test for:
# * oldest supported version
# * latest available Python version
python-version: ['3.10', '3.14']
# * Linux using ubuntu-latest
# * Windows using windows-latest
os: ['ubuntu-latest', 'windows-latest']
# * OM stable - latest stable version
# * OM nightly - latest nightly build
omc-version: ['stable', 'nightly']

steps:
- uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'

- name: Install dependencies
run: |
python -m pip install --upgrade pip build setuptools wheel twine
pip install . pytest pytest-md pytest-emoji pre-commit

- name: Set timezone
uses: szenius/set-timezone@v2.0
with:
timezoneLinux: 'Europe/Berlin'

- name: Run pre-commit linters
run: 'pre-commit run --all-files'

- name: "Set up OpenModelica Compiler"
uses: OpenModelica/setup-openmodelica@v1.0.6
with:
version: ${{ matrix.omc-version }}
packages: |
omc
libraries: |
'Modelica 4.0.0'
- run: "omc --version"

- name: Pull OpenModelica docker image
if: runner.os != 'Windows'
run: docker pull openmodelica/openmodelica:v1.25.0-minimal

- name: Build wheel and sdist packages
run: python -m build --wheel --sdist --outdir dist

- name: Check twine
run: python -m twine check dist/*

- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
verbose: true
emoji: true
job-summary: true
custom-arguments: '-v ./tests --ignore=./tests/test_FMIRegression.py'
click-to-expand: true
report-title: 'Test Report'
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ repos:
hooks:
- id: mypy
args: []
exclude: tests/
exclude: 'test|test_v400'
additional_dependencies:
- pyparsing
- types-psutil
Expand Down
Loading
Loading