Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
dd3e4fd
Update oscillator_xd and error messages in controls
eisDNV Dec 19, 2025
5d959d3
Update oscillator_xd in connection with crane-fmu additions and impro…
eisDNV Dec 19, 2025
60bce28
Moved ForcedOscillator1D to analytic.py in source, so that this can b…
eisDNV Jan 8, 2026
aba4a75
Extended analytic forced oscillator class to cover arbitrary initial …
eisDNV Jan 11, 2026
750cf77
Extension of analytic oscillator (allow force phase!=0) and addition …
eisDNV Jan 14, 2026
a665084
Change in pyproject to fix error etected by server quality check
eisDNV Jan 15, 2026
bf3894f
Another trial to fix the mypy_path = stubs issue (only present on the…
eisDNV Jan 15, 2026
acc524a
pyproject.toml: added missing `[tools.mypy]` header
ClaasRostock Jan 15, 2026
1f2e66c
updated uv.lock
ClaasRostock Jan 15, 2026
3ee0025
tests/test_solver.py: Resolved a minor issue raised by mypy
ClaasRostock Jan 15, 2026
56aa736
Merge remote-tracking branch 'origin/eis' into eis
ClaasRostock Jan 15, 2026
737d606
updated .pre.commit-config.yaml
ClaasRostock Jan 15, 2026
a2263e9
Updated to ruff>=0.14.3 (from ruff>=0.6.3)
ClaasRostock Jan 15, 2026
5171497
Updated to pyright>=1.1.407 (from pyright>=1.1.378)
ClaasRostock Jan 15, 2026
fad91d3
Updated to sourcery>=1.40 (from sourcery>=1.22)
ClaasRostock Jan 15, 2026
c3fe83d
Updated to numpy>=2.3 (from numpy>=2.0)
ClaasRostock Jan 15, 2026
c4a7697
Updated to scipy>=1.16 (from scipy>=1.15.1)
ClaasRostock Jan 15, 2026
b67206a
Updated to matplotlib>=3.10 (from matplotlib>=3.9.1)
ClaasRostock Jan 15, 2026
c74ddf9
Updated to plotly>=6.3 (from plotly>=6.0.1)
ClaasRostock Jan 15, 2026
17c0045
Updated to pytest>=8.4 (from pytest>=8.3)
ClaasRostock Jan 15, 2026
fd9e136
Updated to pytest-cov>=7.0 (from pytest-cov>=5.0)
ClaasRostock Jan 15, 2026
7dfc4de
Updated to Sphinx>=8.2 (from Sphinx>=8.0)
ClaasRostock Jan 15, 2026
f633df7
Updated to sphinx-argparse-cli>=1.20 (from sphinx-argparse-cli>=1.17)
ClaasRostock Jan 15, 2026
360c1b5
Updated to sphinx-autodoc-typehints>=3.5 (from sphinx-autodoc-typehi…
ClaasRostock Jan 15, 2026
368ff66
Updated to furo>=2025.9 (from furo>=2024.8)
ClaasRostock Jan 15, 2026
e701fb0
Updated to pre-commit>=4.3 (from pre-commit>=3.8)
ClaasRostock Jan 15, 2026
37cbf63
Updated to mypy>=1.18 (from mypy>=1.11.1)
ClaasRostock Jan 15, 2026
7992aa9
Updated to checkout@v5 (from checkout@v4)
ClaasRostock Jan 15, 2026
478c401
Updated to setup-python@v6 (from setup-python@v5)
ClaasRostock Jan 15, 2026
8d0fb06
Updated to setup-uv@v7 (from setup-uv@v2)
ClaasRostock Jan 15, 2026
ed9da66
Updated to upload-artifact@v5 (from upload-artifact@v4)
ClaasRostock Jan 15, 2026
9688242
Updated to download-artifact@v5 (from download-artifact@v4)
ClaasRostock Jan 15, 2026
322a5f4
pyproject.toml: Updated supported Python versions to 3.11, 3.12, 3.13…
ClaasRostock Jan 15, 2026
81eaf57
ruff.toml: Updated target Python version to "py311"
ClaasRostock Jan 15, 2026
4d633d3
.sourcery.yaml: Updated the lowest Python version the project support…
ClaasRostock Jan 15, 2026
0d5d99d
GitHub workflow _test.yml: Updated Python versions in test matrix to …
ClaasRostock Jan 15, 2026
5b7069d
GitHub workflow _test_future.yml: Updated Python version in test_futu…
ClaasRostock Jan 15, 2026
a5854cf
GitHub workflow _test_future.yml: Updated name of test_future job to …
ClaasRostock Jan 15, 2026
8e58185
GitHub workflow _test_future.yml: Updated Python specifier in comment…
ClaasRostock Jan 15, 2026
550c149
GitHub workflow _test_future.yml: Updated Python specifier in workflo…
ClaasRostock Jan 15, 2026
e858fb6
GitHub workflow _build_and_publish_documentation.yml: Changed 'uv syn…
ClaasRostock Jan 15, 2026
81e6017
Sphinx conf.py: Removed ruff rule exception on file level
ClaasRostock Jan 15, 2026
ffc2110
updated CHANGELOG.md
ClaasRostock Jan 15, 2026
5be0cd8
updated files in root folder with latest changes in python_project_te…
ClaasRostock Jan 15, 2026
2cbcb09
updated uv.lock
ClaasRostock Jan 15, 2026
6ee0cc1
updated GitHub workflows with latest changes in python_project_templa…
ClaasRostock Jan 15, 2026
dbf1fda
added Visual Studio Code settings
ClaasRostock Jan 15, 2026
b44c70d
src/component_model/__init__.py: Added docstring
ClaasRostock Jan 15, 2026
ac5c968
tests/conftest.py: minor update to be in sync with in python_project_…
ClaasRostock Jan 15, 2026
98122b3
pyproject.toml: Renamed optional dependency group 'tests' to 'test' t…
ClaasRostock Jan 15, 2026
60d8709
updated uv.lock
ClaasRostock Jan 15, 2026
a836dbb
updated Sphinx documentation with latest changes in python_project_te…
ClaasRostock Jan 15, 2026
6433a0a
pyproject.toml: Re-added "libcosimpy>=0.0.5" to dependency group 'tes…
ClaasRostock Jan 15, 2026
a3f4ccc
updated uv.lock
ClaasRostock Jan 15, 2026
dcf952e
src/component_model/plotter.py: Reactivated import of `ibcosimpy`
ClaasRostock Jan 15, 2026
d412ba5
Sphinx documentation: Added docs for modules variable_naming.py, enum…
ClaasRostock Jan 15, 2026
a362763
Sphinx documentation: Resolved some rst formatting issues that led to…
ClaasRostock Jan 15, 2026
31b1600
ruff format
ClaasRostock Jan 15, 2026
1918839
cleaned up CHANGELOG.md
ClaasRostock Jan 15, 2026
37ad9af
bumped version number to 0.3.1
ClaasRostock Jan 15, 2026
5b0e709
updated uv.lock
ClaasRostock Jan 15, 2026
1c440db
CHANGELOG.md: Minor update
ClaasRostock Jan 15, 2026
8c35ac5
Update CITATION.cff
ClaasRostock Jan 15, 2026
2a92ead
Merge branch 'main' into update-with-latest-changes-python-project-te…
ClaasRostock Jan 15, 2026
70bea05
bumped version number to 0.3.2
ClaasRostock Jan 15, 2026
79e979a
updated uv.lock
ClaasRostock Jan 15, 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
13 changes: 6 additions & 7 deletions .github/workflows/_build_and_publish_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout active branch
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
lfs: true
- name: Install uv
uses: astral-sh/setup-uv@v2
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
cache-dependency-glob: 'uv.lock'
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.12.8"
python-version-file: "pyproject.toml"
python-version-file: 'pyproject.toml'
- name: Install the project
run: uv sync --upgrade
run: uv sync --frozen
- name: Print debugging information
run: |
echo "github.ref:" ${{github.ref}}
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/_build_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,22 @@ jobs:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
lfs: true
- name: Install uv
uses: astral-sh/setup-uv@v2
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: "3.12.8"
python-version-file: "pyproject.toml"
- name: Build source distribution and wheel
run: uv build
- name: Run twine check
run: uvx twine check --strict dist/*
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
path: |
dist/*.tar.gz
Expand Down
43 changes: 20 additions & 23 deletions .github/workflows/_code_quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,16 @@ jobs:
runs-on: ubuntu-latest
name: ruff format
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v2
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
cache-dependency-glob: 'uv.lock'
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.12.8"
python-version-file: "pyproject.toml"
python-version-file: 'pyproject.toml'
- name: Install the project
run: uv sync --upgrade
- name: Run ruff format
Expand All @@ -27,17 +26,16 @@ jobs:
runs-on: ubuntu-latest
name: ruff check
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v2
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
cache-dependency-glob: 'uv.lock'
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.12.8"
python-version-file: "pyproject.toml"
python-version-file: 'pyproject.toml'
- name: Install the project
run: uv sync --upgrade
- name: Run ruff check
Expand All @@ -47,37 +45,36 @@ jobs:
# runs-on: ubuntu-latest
# name: pyright
# steps:
# - uses: actions/checkout@v4
# - uses: actions/checkout@v5
# - name: Install uv
# uses: astral-sh/setup-uv@v2
# uses: astral-sh/setup-uv@v7
# with:
# enable-cache: true
# cache-dependency-glob: "uv.lock"
# - name: Set up Python
# uses: actions/setup-python@v5
# uses: actions/setup-python@v6
# with:
# python-version-file: "pyproject.toml"
# - name: Install the project
# run: uv sync --upgrade
# run: uv sync --upgrade --extra test
# - name: Run pyright
# run: uv run pyright

mypy:
runs-on: ubuntu-latest
name: mypy
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v2
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
cache-dependency-glob: 'uv.lock'
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.12.8"
python-version-file: "pyproject.toml"
python-version-file: 'pyproject.toml'
- name: Install the project
run: uv sync --upgrade --extra tests
run: uv sync --upgrade --extra test
- name: Run mypy
run: uv run mypy
2 changes: 1 addition & 1 deletion .github/workflows/_merge_into_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
environment: release
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
# Fetch the whole history to prevent unrelated history errors
fetch-depth: 0
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ jobs:
name: Test on ${{matrix.python.version}}-${{matrix.platform.runner}}
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: true
matrix:
platform:
- runner: ubuntu-latest
Expand All @@ -16,22 +17,21 @@ jobs:
- version: '3.11'
- version: '3.12'
- version: '3.13'
- version: '3.14'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v2
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
cache-dependency-glob: 'uv.lock'
- name: Install Python ${{ matrix.python.version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python.version }}
- name: Install the project
run: uv sync --upgrade -p ${{ matrix.python.version }} --no-dev --extra tests
- name: Install pytest
run: |
uv pip install pytest
uv pip install pytest-cov
run: uv sync -p ${{ matrix.python.version }} -U --no-dev --extra test
- name: Run pytest
run: uv run pytest --cov
run: >
uv run --with pytest --with pytest-cov
pytest --cov
40 changes: 25 additions & 15 deletions .github/workflows/_test_future.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,47 @@
name: Unit Tests (py314)
# Test also with Python 3.14 (experimental; workflow will not fail on error.)
name: Unit Tests (py315)
# Test also with Python 3.15 (experimental; workflow will not fail on error.)

on: workflow_call

jobs:
test314:
test315:
name: Test on ${{matrix.python.version}}-${{matrix.platform.runner}} (experimental)
continue-on-error: true
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: true
matrix:
platform:
- runner: ubuntu-latest
- runner: windows-latest
python:
- version: '3.14.0-alpha - 3.14.0'
uvpy: '3.14'
- version: '3.15.0-alpha - 3.15.0'
uvpy: '3.15'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install uv
uses: astral-sh/setup-uv@v2
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
cache-dependency-glob: 'uv.lock'
- name: Install Python ${{ matrix.python.version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python.version }}
- name: Install the project
run: uv sync --upgrade -p ${{ matrix.python.uvpy }} --no-dev --extra tests
- name: Install pytest
- name: Remove Python upper version constraint from pyproject.toml
shell: pwsh
run: |
uv pip install pytest
uv pip install pytest-cov
$File = Get-Item pyproject.toml
$Content = Get-Content $File -Raw
[regex]$RequiresPythonPattern = '(?<!-)(\brequires-python = "\s?[>=]{1,2}\s?\d+\.\d+\.?\d*\.?[\d\w]*\s?)(,\s?[<=]{1,2}\s?\d+\.?\d*\.?\d*\.?[\d\w]*\s?)?(")'
if ($Content -match $RequiresPythonPattern) {
$RequiresPythonFound = $Matches[0]
$RequiresPythonReplacement = $Matches[1] + $Matches[3]
$Content -Replace $RequiresPythonFound, $RequiresPythonReplacement | Set-Content $File -NoNewline
}
- name: Install the project
run: uv sync -p ${{ matrix.python.uvpy }} -U --no-dev --extra test
- name: Run pytest
run: uv run pytest --cov
run: >
uv run --with pytest --with pytest-cov
pytest --cov
2 changes: 0 additions & 2 deletions .github/workflows/nightly_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ on:
- cron: '30 5 * * *'

jobs:
code_quality:
uses: ./.github/workflows/_code_quality.yml
test:
uses: ./.github/workflows/_test.yml
test_future:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v5
with:
name: artifact
path: dist
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ ipython_config.py
# It is generally recommended to include `uv.lock` in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, `uv` might install dependencies in one environment that don't work in another.
# In such case, `uv.lock` should be added to `.gitignore`
# In such case, `uv.lock` should be added to `.gitignore` (and, as such, excluded from version control).
# uv.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
Expand Down
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v6.0.0
hooks:
- id: mixed-line-ending
fix: auto
args: [--fix=auto]
- id: trailing-whitespace
- id: check-yaml
- id: check-toml
- id: check-merge-conflict
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.2
rev: v0.14.3
hooks:
- id: ruff
- id: ruff-format
- id: ruff-check
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v1.9.0
# rev: v1.14.1
# hooks:
# - id: mypy
# exclude: tests/
exclude: '(.venv|.*_cache)/.*'
2 changes: 1 addition & 1 deletion .sourcery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ rule_settings:
- refactoring
- suggestion
- comment
python_version: '3.10' # A string specifying the lowest Python version your project supports. Sourcery will not suggest refactorings requiring a higher Python version.
python_version: '3.11' # A string specifying the lowest Python version your project supports. Sourcery will not suggest refactorings requiring a higher Python version.

# rules: # A list of custom rules Sourcery will include in its analysis.
# - id: no-print-statements
Expand Down
21 changes: 21 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"ms-python.python",
"ms-python.vscode-pylance",
"github.copilot-chat",
"ms-python.debugpy",
"ms-python.vscode-python-envs",
"charliermarsh.ruff",
"sourcery.sourcery",
"njpwerner.autodocstring",
"editorconfig.editorconfig",
"ms-toolsai.jupyter",
"ms-toolsai.jupyter-renderers",
"ms-python.mypy-type-checker",
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
Loading