Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 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
578130f
[ModelicaSystem] define check_model_executable() - test if the model …
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
96d9ad1
[ModelicaSystemDoE] fix unittest
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
5316792
Merge branch 'OMCPath_remove_stat' into v4.1.0-status20260207
syntron Feb 7, 2026
0465dbd
Merge branch 'ModelicaSystem_cleanup' into v4.1.0-status20260207
syntron Feb 7, 2026
11b132c
Merge branch 'ModelicaSystem_getContinuous_getOutputs' into v4.1.0-st…
syntron Feb 7, 2026
8c479f6
Merge branch 'ModelExecution' into v4.1.0-status20260207
syntron Feb 7, 2026
653a885
Merge branch 'ModelicaSystem_check_model_executable' into v4.1.0-stat…
syntron Feb 7, 2026
dd0c766
Merge branch 'ModelicaSystemDoE' into v4.1.0-status20260207
syntron Feb 7, 2026
cfcc1ce
Merge branch 'ModelicaSystem_small_fixes' into v4.1.0-status20260207
syntron Feb 7, 2026
3022e47
Merge branch 'OMCSession_small_fixes' into v4.1.0-status20260207
syntron Feb 7, 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
cd7b4f4
Merge branch 'use_function_keyword_arguments' into v4.1.0-status20260207
syntron Feb 7, 2026
45df125
Merge branch 'update_init_docstring' into v4.1.0-status20260207
syntron Feb 7, 2026
03a9d0c
Merge branch 'reorder_imports' into v4.1.0-status20260207
syntron Feb 7, 2026
0c0775b
Merge branch 'OMCSession_sendExpression_rename_arg' into v4.1.0-statu…
syntron Feb 7, 2026
ef53f74
[merge fix] ModelicaSystemCmd => ModelExecutionCmd; see: [ModelExecu…
syntron Feb 7, 2026
a9be4b3
??? fix
syntron Feb 7, 2026
57977a6
[ModelicaSystem] split ModelicaSystem into ModelicaSystemABC and Mode…
syntron Jan 24, 2026
0b43d24
[ModelicaSystem] rename ModelicaSystem => ModelicaSystemOMC
syntron Jan 24, 2026
f0f87a2
[test_ModelicaSystemOMC] rename from ModelicaSystem and update
syntron Jan 24, 2026
df8f8ba
[test_*] use ModelicaSystemOMC
syntron Jan 24, 2026
ca5ef4e
[ModelicaSystem*] fix last usages of ModelicaSystem() in comments & d…
syntron Jan 24, 2026
53f4ec4
[ModelicaSystem] split ModelicaSystemDoE into ModelicaDoEABC and Mode…
syntron Jan 24, 2026
07658f5
[ModelicaSystem] rename ModelicaSystemDoE => ModelicaDoEOMC
syntron Jan 24, 2026
2ca3f16
[test_ModelicaDoEOMC] rename from ModelicaSystemDoE and update
syntron Jan 24, 2026
88a228b
[ModelicaSystem] update ModelicaDoEABC to use ModelicaSystemABC
syntron Jan 24, 2026
7d131ff
[ModelicaSystem] define doe_get_solutions() as separate method
syntron Jan 24, 2026
f406c47
[OMCSession] update OMCPath to use OMPathABC as baseline and further …
syntron Jan 25, 2026
f462a46
[ModelicaSystem] shortcut to use OMCPath = OMPathABC for now
syntron Jan 25, 2026
b9d3cc5
[ModelicaSystem] fix usage of OMCPath; replace by OMPathABC
syntron Jan 26, 2026
4eaa243
[OMCSession] move OM(C)Path classes into the if cause
syntron Feb 8, 2026
221789b
[OMCSession] define and use OMPathBase
syntron Feb 8, 2026
360b99b
[OMCSession] align on OMPathABC; replace usage of OMPathBase
syntron Feb 8, 2026
eb7cd3c
[OMCSession] update OMCSession* to use OMSessionABC as baseline and f…
syntron Jan 26, 2026
4ddeee1
[ModelicaSystem] shortcut to use OMCSession = OMSessionABC for now
syntron Jan 26, 2026
52a94ab
[ModelicaSystem] fix usage of OMCSession; replace by OMSessionABC
syntron Jan 26, 2026
843c5ae
fix usage of OMCSession
syntron Feb 8, 2026
c0990ab
[OMCSession] add *Runner related classes for OMPath and OMSession
syntron Jan 27, 2026
59a1707
[ModelicaSystem] add ModelicaSystemRunner
syntron Jan 27, 2026
e301ddf
[test_ModelicaSystemRunner] add test case for ModelicaSystemRunner
syntron Jan 27, 2026
edc1408
[ModelicaSystem] add ModelicaDoERunner
syntron Jan 27, 2026
4f35230
[test_ModelicaDoERunner] add test case for ModelicaDoERunner
syntron Jan 27, 2026
d368e64
[OMCSession] move OMCPathRunner* into the if clause
syntron Feb 8, 2026
d8e70d8
[OMSessionRunner] fix usage of sendExpression()
syntron Feb 8, 2026
1aa0990
[__init__] add missing definitions for *Runner classes
syntron Feb 8, 2026
43530b9
[ModelicaDoERunner] fix definition; allow all variations of ModelicaS…
syntron Feb 8, 2026
74f3045
[test_ModelicaDoERunner] fix definition; test ModelicaSystem(OCM|Runner)
syntron Feb 8, 2026
f4804c0
[ModelicaDoEABC] add get_resultpath()
syntron Feb 8, 2026
6ef0900
abc
syntron Feb 8, 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
9 changes: 2 additions & 7 deletions .github/workflows/Test.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
name: Test-Publish

on:
push:
branches: ['master']
tags:
- 'v*' # only publish when pushing version tags (e.g., v1.0.0)
pull_request:
workflow_dispatch:

jobs:
Expand All @@ -17,13 +12,13 @@ jobs:
# test for:
# * oldest supported version
# * latest available Python version
python-version: ['3.10', '3.14']
python-version: ['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']
omc-version: ['stable']

steps:
- uses: actions/checkout@v6
Expand Down
66 changes: 66 additions & 0 deletions .github/workflows/Test_v400.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Test-v4.0.0

on:
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
python-version: ['3.10', '3.14']
os: ['ubuntu-latest', 'windows-latest']
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.5
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 '
click-to-expand: true
report-title: 'Test Report'
66 changes: 66 additions & 0 deletions .github/workflows/Test_v400_py310.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Test-v4.0.0-py310

on:
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
python-version: ['3.10']
os: ['ubuntu-latest']
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.5
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 '
click-to-expand: true
report-title: 'Test Report'
66 changes: 66 additions & 0 deletions .github/workflows/Test_v4xx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Test-v4.x.x

on:
workflow_dispatch:

jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
python-version: ['3.10', '3.14']
os: ['ubuntu-latest', 'windows-latest']
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.5
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 '
click-to-expand: true
report-title: 'Test Report'
7 changes: 3 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,11 @@ repos:
hooks:
- id: codespell

- repo: https://github.com/pre-commit/mirrors-mypy.git
rev: "v1.15.0"
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.9.0
hooks:
- id: mypy
args: []
exclude: tests/
exclude: 'test|test_v400'
additional_dependencies:
- pyparsing
- types-psutil
Expand Down
Loading