From b03029309ce2a7e5e4a53e9d85f885e439707b92 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Fri, 26 Sep 2025 13:21:38 +0200 Subject: [PATCH 01/17] Update python_jobs.yml --- .github/workflows/python_jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 24c140d..9b01cd4 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false # complete remaining jobs matrix: os: [windows-latest, ubuntu-latest] - python-version: ["3.10", "3.11"] + python-version: ["3.10", "3.11", "3.12", "3.13"] steps: - name: Checkout From 0612553c79ab0eced763d74e5b131c7c69f426db Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Fri, 26 Sep 2025 14:57:36 +0200 Subject: [PATCH 02/17] Update python_jobs.yml --- .github/workflows/python_jobs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 9b01cd4..aa2aa05 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -36,7 +36,7 @@ jobs: # There is an issue where python 3.12 always seems to be pinned as a dependency # Including the actually used python version in the install command works - conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt xlsxwriter openpyxl cx_freeze -c conda-forge -y + conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt qttools xlsxwriter openpyxl cx_freeze -c conda-forge -y - name: Build & install lpagg with conda run: | @@ -73,6 +73,7 @@ jobs: - name: Lint with flake8 if: runner.os == 'Linux' # Only needs to run once run: | + conda activate base # Activate conda environment conda install flake8 # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics From a2e93bdf9286e5d9179a7a7b84d6ad39602eadf3 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Fri, 28 Nov 2025 10:43:27 +0100 Subject: [PATCH 03/17] Add conda defaults channel configuration Add conda defaults channel to workflow --- .github/workflows/python_jobs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index aa2aa05..0e62c10 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -22,6 +22,9 @@ jobs: update-conda: false python-version: ${{ matrix.python-version }} + - name: Add conda defaults channel + run: conda config --add channels defaults + - name: Initialize powershell for conda (Windows only) if: runner.os == 'Windows' run: conda init powershell From cc5219e970cae1d2b06ae6aaaa07a786536f9c21 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 15:29:00 +0100 Subject: [PATCH 04/17] Change conda build channel to defaults and conda-forge --- .github/workflows/python_jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 0e62c10..23bd738 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -43,7 +43,7 @@ jobs: - name: Build & install lpagg with conda run: | - conda build conda.recipe -c conda-forge + conda build conda.recipe -c defaults -c conda-forge conda install lpagg --use-local -c conda-forge - name: Build MSI installer for 'simultaneity' GUI version (Windows only) From ba26f7b53f5a8979bc33ac6bf8b712a3eca5084f Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 15:37:32 +0100 Subject: [PATCH 05/17] Update conda initialization steps for Windows and Linux --- .github/workflows/python_jobs.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 23bd738..e74ff9a 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -25,10 +25,14 @@ jobs: - name: Add conda defaults channel run: conda config --add channels defaults - - name: Initialize powershell for conda (Windows only) + - name: Initialize powershell for conda (Windows) if: runner.os == 'Windows' run: conda init powershell + - name: Initialize powershell for conda (Linux) + if: runner.os == 'Linux' + run: conda init bash + - name: Install dependencies with conda run: | # conda install numpy -y From f6dbac6db8b8d55db60d02dc5f69bf42a61c74c4 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 15:47:01 +0100 Subject: [PATCH 06/17] Adapt to cx-freeze 8.5.0 --- setup_exe.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup_exe.py b/setup_exe.py index e3a57b5..c7f8ff6 100644 --- a/setup_exe.py +++ b/setup_exe.py @@ -99,9 +99,9 @@ # os.environ['TK_LIBRARY'] = os.path.join(sys.exec_prefix, r'tcl\tk8.6') dlls = os.path.join(sys.exec_prefix, 'Library', 'bin') -base = None # None for cmd-line +base = 'console' # None for cmd-line if sys.platform == 'win32': - base = 'Win32GUI' # If only a GUI should be shown + base = 'gui' # If only a GUI should be shown # http://msdn.microsoft.com/en-us/library/windows/desktop/aa371847(v=vs.85).aspx shortcut_table = [ From 48eafa834eda091f316489374aafc449aca035a2 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 15:52:50 +0100 Subject: [PATCH 07/17] Try without conda activate --- .github/workflows/python_jobs.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index e74ff9a..aa50698 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -29,7 +29,7 @@ jobs: if: runner.os == 'Windows' run: conda init powershell - - name: Initialize powershell for conda (Linux) + - name: Initialize shell for conda (Linux) if: runner.os == 'Linux' run: conda init bash @@ -80,7 +80,6 @@ jobs: - name: Lint with flake8 if: runner.os == 'Linux' # Only needs to run once run: | - conda activate base # Activate conda environment conda install flake8 # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics From 017c3efa3cc71012048ad324d6371cc86133c98e Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 17:22:07 +0100 Subject: [PATCH 08/17] Add bdist_msi preparation for Python 3.13 Add step to prepare bdist_msi for Python 3.13. --- .github/workflows/python_jobs.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index aa50698..987b350 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -45,6 +45,12 @@ jobs: # Including the actually used python version in the install command works conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt qttools xlsxwriter openpyxl cx_freeze -c conda-forge -y + - name: Prepare bdist_msi + if: runner.python-version == "3.13" + run: | + # Required for bdist_msi on Python>=3.13 + conda install conda-forge::python-msilib + - name: Build & install lpagg with conda run: | conda build conda.recipe -c defaults -c conda-forge From 9cd58d48f21b76b03c06740f59ae1eaa90691f9d Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 17:25:11 +0100 Subject: [PATCH 09/17] Update python_jobs.yml --- .github/workflows/python_jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 987b350..8a53caf 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -46,7 +46,7 @@ jobs: conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt qttools xlsxwriter openpyxl cx_freeze -c conda-forge -y - name: Prepare bdist_msi - if: runner.python-version == "3.13" + if: runner.python-version == '3.13' run: | # Required for bdist_msi on Python>=3.13 conda install conda-forge::python-msilib From b8142908298a1702ef3b5bd7cdbefdb938a4bf5b Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 17:50:24 +0100 Subject: [PATCH 10/17] Update python_jobs.yml --- .github/workflows/python_jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 8a53caf..60ae0b0 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -46,7 +46,7 @@ jobs: conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt qttools xlsxwriter openpyxl cx_freeze -c conda-forge -y - name: Prepare bdist_msi - if: runner.python-version == '3.13' + if: contains(fromJson('["3.13","3.14"]'), matrix.python-version) run: | # Required for bdist_msi on Python>=3.13 conda install conda-forge::python-msilib From c5d092eb5860f12065204d978f21f91a64441318 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Mon, 1 Dec 2025 18:20:06 +0100 Subject: [PATCH 11/17] Update python_jobs.yml --- .github/workflows/python_jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 60ae0b0..aa9cc25 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -46,7 +46,7 @@ jobs: conda install python=${{ matrix.python-version }} numpy conda-build setuptools setuptools_scm pandas pyqt qttools xlsxwriter openpyxl cx_freeze -c conda-forge -y - name: Prepare bdist_msi - if: contains(fromJson('["3.13","3.14"]'), matrix.python-version) + if: runner.os == 'Windows' && contains(fromJson('["3.13","3.14"]'), matrix.python-version) run: | # Required for bdist_msi on Python>=3.13 conda install conda-forge::python-msilib From 6da5692fdf10c55fabcae667c58f781773f8b780 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Tue, 2 Dec 2025 09:55:50 +0100 Subject: [PATCH 12/17] Update setup_exe.py --- setup_exe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_exe.py b/setup_exe.py index c7f8ff6..c447cd2 100644 --- a/setup_exe.py +++ b/setup_exe.py @@ -212,7 +212,7 @@ 'markupsafe', # 'matplotlib', 'matplotlib.tests', - 'matplotlib.mpl-data', + # 'matplotlib.mpl-data', 'msgpack', 'nbconvert', 'nbformat', From 1b044738dc81f8dc3e4d5bb246fe448265e26b14 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Tue, 2 Dec 2025 09:59:39 +0100 Subject: [PATCH 13/17] Test from 3.12 to 3.14 --- .github/workflows/python_jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index aa9cc25..8d55d5d 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false # complete remaining jobs matrix: os: [windows-latest, ubuntu-latest] - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.12", "3.13", "3.14"] steps: - name: Checkout From bbcc1849466520e6f31e06528774c4a9e12505de Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Tue, 2 Dec 2025 10:02:40 +0100 Subject: [PATCH 14/17] Update publish.yml --- .github/workflows/publish.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e4aa8f9..eb3e8ad 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ["3.10"] + python-version: ["3.13"] steps: - name: Checkout @@ -23,6 +23,9 @@ jobs: update-conda: false python-version: ${{ matrix.python-version }} + - name: Add conda defaults channel + run: conda config --add channels defaults + - name: Initialize powershell for conda (Windows only) if: runner.os == 'Windows' run: conda init powershell @@ -36,8 +39,8 @@ jobs: - name: Build & upload with conda run: | # Login to anaconda (answer the resulting prompt with yes) - echo y | anaconda login --username ${{ secrets.ANACONDA_USERNAME }} --password ${{ secrets.ANACONDA_PASSWORD }} --hostname "GitHub_${{ matrix.os }}_${{ matrix.python-version }}" + echo y | anaconda org login --username ${{ secrets.ANACONDA_USERNAME }} --password ${{ secrets.ANACONDA_PASSWORD }} --hostname "GitHub_${{ matrix.os }}_${{ matrix.python-version }}" # Enable automatic upload to anaconda.org conda config --set anaconda_upload yes # Run build process - conda build conda.recipe -c conda-forge + conda build conda.recipe -c defaults -c conda-forge From 785e213b3151f21615dabf278d7d1ee55d773dd1 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Tue, 2 Dec 2025 10:04:37 +0100 Subject: [PATCH 15/17] Test from 3.12. to 3.13 --- .github/workflows/python_jobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_jobs.yml b/.github/workflows/python_jobs.yml index 8d55d5d..53866ac 100644 --- a/.github/workflows/python_jobs.yml +++ b/.github/workflows/python_jobs.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false # complete remaining jobs matrix: os: [windows-latest, ubuntu-latest] - python-version: ["3.12", "3.13", "3.14"] + python-version: ["3.12", "3.13"] steps: - name: Checkout From fa9371958ade7b46df717fb7a95d55ccb4d8de38 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Tue, 2 Dec 2025 10:31:24 +0100 Subject: [PATCH 16/17] Update setup_d2t_exe.py --- setup_d2t_exe.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup_d2t_exe.py b/setup_d2t_exe.py index 3a3e85f..b8a4118 100644 --- a/setup_d2t_exe.py +++ b/setup_d2t_exe.py @@ -86,9 +86,9 @@ os.environ['TK_LIBRARY'] = os.path.join(sys.exec_prefix, r'tcl\tk8.6') dlls = os.path.join(sys.exec_prefix, r'Library\bin') -base = None +base = 'console' # None for cmd-line if sys.platform == 'win32': - base = 'Win32GUI' + base = 'gui' # If only a GUI should be shown # http://msdn.microsoft.com/en-us/library/windows/desktop/aa371847(v=vs.85).aspx shortcut_table = [ @@ -199,7 +199,7 @@ 'markupsafe', # 'matplotlib', 'matplotlib.tests', - 'matplotlib.mpl-data', + # 'matplotlib.mpl-data', 'msgpack', 'nbconvert', 'nbformat', From 0abd38e306a46d53d34f497afc1d5fabff069232 Mon Sep 17 00:00:00 2001 From: Joris Zimmermann Date: Tue, 2 Dec 2025 10:36:19 +0100 Subject: [PATCH 17/17] Update setup_exe.py --- setup_exe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup_exe.py b/setup_exe.py index c447cd2..b2b8205 100644 --- a/setup_exe.py +++ b/setup_exe.py @@ -231,7 +231,7 @@ 'pygments', # 'PyQt5', 'requests', - 'scipy', + # 'scipy', 'seaborn', 'setuptools', 'sphinx',