From 5ed82f394dad55e5e60bf549f61eef1628d4c242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arne=20Vo=C3=9F?= Date: Tue, 27 Jan 2026 17:18:56 +0100 Subject: [PATCH 1/3] Limit Pandas to versions <3.0.0 --- setup.py | 5 +++-- tests/list_of_packages.txt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 2058cec..38eaf0c 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ Install Loads Kernel with core dependencies via: - pip install -e To use the graphical tools and other features, optional libraries definded as extras are necessary: -- pip install -e [extra] +- pip install -e [extras] Especially with mpi or the graphical libraries, pip frequently fails. In that case, try to install the packages using a package manager such as conda. """ @@ -30,6 +30,7 @@ def my_setup(): include_package_data=True, package_data={'loadskernel': ['graphics/*.*'], 'loadscompare': ['graphics/*.*'], }, + # Remember to update the requirements also in the conda feedstock (./recipe/meta.yml) when changing them here! python_requires='>=3.10', install_requires=['PanelAero', 'matplotlib', @@ -38,7 +39,7 @@ def my_setup(): 'h5py', 'tables', 'pyyaml', - 'pandas', + 'pandas<3.0.0', # Pandas 3.0.0 comes with changes that are not yet supported, see https://github.com/DLR-AE/LoadsKernel/issues/86 ], extras_require={'extras': ['mpi4py', 'mayavi', diff --git a/tests/list_of_packages.txt b/tests/list_of_packages.txt index ba79d51..723abaf 100644 --- a/tests/list_of_packages.txt +++ b/tests/list_of_packages.txt @@ -8,7 +8,7 @@ scipy h5py pytables pyyaml -pandas +pandas<3.0.0 # Extras, optional mpi4py From 29fa54fb9f533fd7e583ac732328a5da0deec069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arne=20Vo=C3=9F?= Date: Tue, 27 Jan 2026 17:41:02 +0100 Subject: [PATCH 2/3] Update CI to Python 3.13 --- .github/workflows/build.yml | 4 ++-- .github/workflows/coding-style.yml | 4 ++-- .github/workflows/regression-tests.yml | 4 ++-- CHANGELOG.md | 4 ++++ setup.py | 6 ++++-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6dbf9a5..969be2d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: # Add multiple Python versions here to run tests on new(er) versions. - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.12", "3.13"] fail-fast: false steps: - uses: actions/checkout@v3 @@ -44,7 +44,7 @@ jobs: strategy: matrix: # Add multiple Python versions here to run tests on new(er) versions. - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.12", "3.13"] fail-fast: false # Step 1 to make GUIs work, see https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html env: diff --git a/.github/workflows/coding-style.yml b/.github/workflows/coding-style.yml index aca0632..3dbf0c1 100644 --- a/.github/workflows/coding-style.yml +++ b/.github/workflows/coding-style.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: # Add the Python versions here to run tests on new(er) versions. - python-version: ["3.12"] + python-version: ["3.13"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} @@ -43,7 +43,7 @@ jobs: strategy: matrix: # Add multiple Python versions here to run tests on new(er) versions. - python-version: ["3.12"] + python-version: ["3.13"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/regression-tests.yml b/.github/workflows/regression-tests.yml index 63d30d0..73fae95 100644 --- a/.github/workflows/regression-tests.yml +++ b/.github/workflows/regression-tests.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: # Add multiple Python versions here to run tests on new(er) versions. - python-version: ["3.12"] + python-version: ["3.13"] # Step 1 to make GUIs work, see https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html env: DISPLAY: ':99.0' @@ -75,7 +75,7 @@ jobs: strategy: matrix: # Select Python version to be used for compiling here. - python-version: ["3.12"] + python-version: ["3.13"] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 74ba6e4..16f284f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Note New releases are marked in the repository using tags. Simply checkout the master branch for the lastest version or use git checkout if you require a specific release, for example 'git checkout 2022.10'. +# Release 2026.02 +- Continuous integration tests look good for Python 3.13 +- Dependencies: limit Pandas to versions <3.0.0 + # Release 2026.01 - Added gust and flutter simulation in the frequency domain based of GAFs obtained from linearized CFD (using SU2 and via pulse simulations). This is work is still very new and therefore needs more testing and/or applications. - Refactoring of 'equations' diff --git a/setup.py b/setup.py index 38eaf0c..8df620b 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ def my_setup(): setup(name='LoadsKernel', - version='2026.01', + version='2026.02', description="""The Loads Kernel Software allows for the calculation of quasi-steady and dynamic maneuver loads, unsteady gust loads in the time and frequency domain as well as dynamic landing loads based on a generic landing gear module.""", @@ -39,7 +39,9 @@ def my_setup(): 'h5py', 'tables', 'pyyaml', - 'pandas<3.0.0', # Pandas 3.0.0 comes with changes that are not yet supported, see https://github.com/DLR-AE/LoadsKernel/issues/86 + # Pandas 3.0.0 comes with changes that are not yet supported, + # see https://github.com/DLR-AE/LoadsKernel/issues/86 + 'pandas<3.0.0', ], extras_require={'extras': ['mpi4py', 'mayavi', From dd4225219ddb814fd81832257806a0ca709bf8e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arne=20Vo=C3=9F?= Date: Tue, 27 Jan 2026 18:30:16 +0100 Subject: [PATCH 3/3] Prepare a re-release of 2026.01 --- CHANGELOG.md | 7 ++----- setup.py | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16f284f..2714e07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,13 @@ # Note New releases are marked in the repository using tags. Simply checkout the master branch for the lastest version or use git checkout if you require a specific release, for example 'git checkout 2022.10'. -# Release 2026.02 -- Continuous integration tests look good for Python 3.13 -- Dependencies: limit Pandas to versions <3.0.0 - # Release 2026.01 - Added gust and flutter simulation in the frequency domain based of GAFs obtained from linearized CFD (using SU2 and via pulse simulations). This is work is still very new and therefore needs more testing and/or applications. - Refactoring of 'equations' - Added regressions tests based on the DC3 - Multiple small fixes collected through the last year -- Dependencies: switch to PySide6 (for GUIs) and to Jupyter Book 2 (for tutorials) +- Continuous integration tests look good for Python 3.13 +- Dependencies: switch to PySide6 (for GUIs) and to Jupyter Book 2 (for tutorials), limit Pandas to versions <3.0.0 and Numpy to versions <2.4.0 # Release 2025.01 - Update of flutter solution sequence including updated description in the User Guide and of the tutorials diff --git a/setup.py b/setup.py index 8df620b..eb538fe 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ def my_setup(): setup(name='LoadsKernel', - version='2026.02', + version='2026.01', description="""The Loads Kernel Software allows for the calculation of quasi-steady and dynamic maneuver loads, unsteady gust loads in the time and frequency domain as well as dynamic landing loads based on a generic landing gear module.""",