From aeea2873f6f756fec079aae549905c67eed43d58 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 11 Jan 2026 15:10:48 +0000 Subject: [PATCH 01/18] ci: added py314 and py314t to GA --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3a9b4adb0..6fc447431 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -7,7 +7,7 @@ jobs: strategy: matrix: platform: [ ubuntu-latest, macos-latest ] - python-version: ["3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] runs-on: ${{ matrix.platform }} steps: From 5d32368b13938ac381031df4a6074c34097060d4 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 11 Jan 2026 15:16:48 +0000 Subject: [PATCH 02/18] ci: remove py314t --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6fc447431..6372963b8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -7,7 +7,7 @@ jobs: strategy: matrix: platform: [ ubuntu-latest, macos-latest ] - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] runs-on: ${{ matrix.platform }} steps: From b85613d5347d853e78646ac40a92d49a6d2852a9 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 11 Jan 2026 21:55:35 +0000 Subject: [PATCH 03/18] temp: remove devito from requirements --- requirements-dev.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index f10a40025..a609bf8bf 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -6,8 +6,8 @@ PyWavelets spgl1 scikit-fmm sympy -devito -# dtcwt (until numpy>=2.0.0 is supported) +# devito (until numpy>=2.0.0 is supported) +# dtcwt (until numpy>=2.3.3 is supported) astra-toolbox>=2.2.0 matplotlib ipython From cc90dd5f1e9effa08bbc74ef2ce05e7697ee5613 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 11 Jan 2026 22:03:37 +0000 Subject: [PATCH 04/18] temp: removed devito tests --- .github/workflows/build.yaml | 2 +- pytests/test_twoway.py | 63 ------------------------------------ 2 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 pytests/test_twoway.py diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6372963b8..6fc447431 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -7,7 +7,7 @@ jobs: strategy: matrix: platform: [ ubuntu-latest, macos-latest ] - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] runs-on: ${{ matrix.platform }} steps: diff --git a/pytests/test_twoway.py b/pytests/test_twoway.py deleted file mode 100644 index 3df5d8f4c..000000000 --- a/pytests/test_twoway.py +++ /dev/null @@ -1,63 +0,0 @@ -import os - -import numpy as np -import pytest - -from pylops.utils import deps, dottest -from pylops.waveeqprocessing.twoway import AcousticWave2D - -devito_message = deps.devito_import("the twoway module") - -if devito_message is None: - import devito - - devito.configuration["log-level"] = "ERROR" - - -par = { - "ny": 10, - "nx": 12, - "nz": 20, - "tn": 500, - "dy": 3, - "dx": 1, - "dz": 2, - "nr": 8, - "ns": 2, -} - -v0 = 2 -y = np.arange(par["ny"]) * par["dy"] -x = np.arange(par["nx"]) * par["dx"] -z = np.arange(par["nz"]) * par["dz"] - -sx = np.linspace(x.min(), x.max(), par["ns"]) -rx = np.linspace(x.min(), x.max(), par["nr"]) - - -@pytest.mark.skipif( - int(os.environ.get("TEST_CUPY_PYLOPS", 0)) == 1, reason="Not CuPy enabled" -) -def test_acwave2d(): - """Dot-test for AcousticWave2D operator""" - Dop = AcousticWave2D( - (par["nx"], par["nz"]), - (0, 0), - (par["dx"], par["dz"]), - np.ones((par["nx"], par["nz"])) * 2e3, - sx, - 5, - rx, - 5, - 0.0, - par["tn"], - "Ricker", - space_order=4, - nbl=30, - f0=15, - dtype="float32", - ) - - assert dottest( - Dop, par["ns"] * par["nr"] * Dop.geometry.nt, par["nz"] * par["nx"], atol=1e-1 - ) From efceb06754c4f624aa80d4ff67f8a29fe6f9374d Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 11 Jan 2026 22:07:02 +0000 Subject: [PATCH 05/18] ci: removed again 3.14t --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6fc447431..6372963b8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -7,7 +7,7 @@ jobs: strategy: matrix: platform: [ ubuntu-latest, macos-latest ] - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] runs-on: ${{ matrix.platform }} steps: From 6f78b6dc5af5330ee024231d33a1186a5c6da043 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 11 Jan 2026 22:23:59 +0000 Subject: [PATCH 06/18] temp: removed devito from reqs --- requirements-dev-arm.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev-arm.txt b/requirements-dev-arm.txt index 985ac7b1a..530de606c 100644 --- a/requirements-dev-arm.txt +++ b/requirements-dev-arm.txt @@ -7,7 +7,7 @@ PyWavelets spgl1 scikit-fmm sympy -devito +# devito (until numpy>=2.0.0 is supported) # dtcwt (until numpy>=2.0.0 is supported) # astra-toolbox (not available on arm-osx) matplotlib From cace53b307f29ab89669c872a552170c30f2039f Mon Sep 17 00:00:00 2001 From: mrava87 Date: Fri, 27 Mar 2026 21:50:27 +0000 Subject: [PATCH 07/18] minor: restore devito --- pytests/test_twoway.py | 63 ++++++++++++++++++++++++++++++++++++++++ requirements-dev-arm.txt | 2 +- requirements-dev.txt | 2 +- 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 pytests/test_twoway.py diff --git a/pytests/test_twoway.py b/pytests/test_twoway.py new file mode 100644 index 000000000..3df5d8f4c --- /dev/null +++ b/pytests/test_twoway.py @@ -0,0 +1,63 @@ +import os + +import numpy as np +import pytest + +from pylops.utils import deps, dottest +from pylops.waveeqprocessing.twoway import AcousticWave2D + +devito_message = deps.devito_import("the twoway module") + +if devito_message is None: + import devito + + devito.configuration["log-level"] = "ERROR" + + +par = { + "ny": 10, + "nx": 12, + "nz": 20, + "tn": 500, + "dy": 3, + "dx": 1, + "dz": 2, + "nr": 8, + "ns": 2, +} + +v0 = 2 +y = np.arange(par["ny"]) * par["dy"] +x = np.arange(par["nx"]) * par["dx"] +z = np.arange(par["nz"]) * par["dz"] + +sx = np.linspace(x.min(), x.max(), par["ns"]) +rx = np.linspace(x.min(), x.max(), par["nr"]) + + +@pytest.mark.skipif( + int(os.environ.get("TEST_CUPY_PYLOPS", 0)) == 1, reason="Not CuPy enabled" +) +def test_acwave2d(): + """Dot-test for AcousticWave2D operator""" + Dop = AcousticWave2D( + (par["nx"], par["nz"]), + (0, 0), + (par["dx"], par["dz"]), + np.ones((par["nx"], par["nz"])) * 2e3, + sx, + 5, + rx, + 5, + 0.0, + par["tn"], + "Ricker", + space_order=4, + nbl=30, + f0=15, + dtype="float32", + ) + + assert dottest( + Dop, par["ns"] * par["nr"] * Dop.geometry.nt, par["nz"] * par["nx"], atol=1e-1 + ) diff --git a/requirements-dev-arm.txt b/requirements-dev-arm.txt index 530de606c..985ac7b1a 100644 --- a/requirements-dev-arm.txt +++ b/requirements-dev-arm.txt @@ -7,7 +7,7 @@ PyWavelets spgl1 scikit-fmm sympy -# devito (until numpy>=2.0.0 is supported) +devito # dtcwt (until numpy>=2.0.0 is supported) # astra-toolbox (not available on arm-osx) matplotlib diff --git a/requirements-dev.txt b/requirements-dev.txt index a609bf8bf..9291d9525 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -6,7 +6,7 @@ PyWavelets spgl1 scikit-fmm sympy -# devito (until numpy>=2.0.0 is supported) +devito # dtcwt (until numpy>=2.3.3 is supported) astra-toolbox>=2.2.0 matplotlib From 96c8d8e8468173baf795feb85631f420626b65d3 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Fri, 27 Mar 2026 22:13:06 +0000 Subject: [PATCH 08/18] minor: small fix --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 9291d9525..f10a40025 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -7,7 +7,7 @@ spgl1 scikit-fmm sympy devito -# dtcwt (until numpy>=2.3.3 is supported) +# dtcwt (until numpy>=2.0.0 is supported) astra-toolbox>=2.2.0 matplotlib ipython From 1be227d55e8c53c7e5bc4db41ea86b8c96cb2e72 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Fri, 27 Mar 2026 22:24:54 +0000 Subject: [PATCH 09/18] fix: change deprecated method in deblurring --- tutorials/deblurring.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tutorials/deblurring.py b/tutorials/deblurring.py index a397805be..ebc6e71e1 100755 --- a/tutorials/deblurring.py +++ b/tutorials/deblurring.py @@ -28,8 +28,8 @@ nh = [15, 25] hz = np.exp(-0.1 * np.linspace(-(nh[0] // 2), nh[0] // 2, nh[0]) ** 2) hx = np.exp(-0.03 * np.linspace(-(nh[1] // 2), nh[1] // 2, nh[1]) ** 2) -hz /= np.trapz(hz) # normalize the integral to 1 -hx /= np.trapz(hx) # normalize the integral to 1 +hz /= np.trapezoid(hz) # normalize the integral to 1 +hx /= np.trapezoid(hx) # normalize the integral to 1 h = hz[:, np.newaxis] * hx[np.newaxis, :] fig, ax = plt.subplots(1, 1, figsize=(5, 3)) From 2eaa38595f1bafbe66f4b40ebc3ec81bb0fbbf37 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Fri, 27 Mar 2026 22:35:13 +0000 Subject: [PATCH 10/18] ci: exclude 3.14 from macos --- .github/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 76db749f2..30eb1b1c7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -14,7 +14,9 @@ jobs: matrix: platform: [ ubuntu-latest, macos-latest ] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] - + exclude: + - platform: macos-latest + python-version: "3.14" runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 From 16edb8c0a314d5e937773bf2970003b52251b37a Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 11:41:39 +0100 Subject: [PATCH 11/18] ci: try moving to cuda13 for cupy in self-hosted GA --- .github/workflows/buildcupy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildcupy.yaml b/.github/workflows/buildcupy.yaml index 1a9632c69..a8bb5be05 100644 --- a/.github/workflows/buildcupy.yaml +++ b/.github/workflows/buildcupy.yaml @@ -28,7 +28,7 @@ jobs: $PIP install --upgrade pip setuptools $PIP install install flake8 pytest setuptools-scm $PIP install -r requirements-dev-gpu.txt - $PIP install cupy-cuda12x + $PIP install cupy-cuda13x $PYTHON -m setuptools_scm $PIP install . EOF From 8885e0040baddc9a7f74ee4b2b9599303bdef4be Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 12:08:22 +0100 Subject: [PATCH 12/18] ci: back to cuda12 --- .github/workflows/buildcupy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildcupy.yaml b/.github/workflows/buildcupy.yaml index a8bb5be05..1a9632c69 100644 --- a/.github/workflows/buildcupy.yaml +++ b/.github/workflows/buildcupy.yaml @@ -28,7 +28,7 @@ jobs: $PIP install --upgrade pip setuptools $PIP install install flake8 pytest setuptools-scm $PIP install -r requirements-dev-gpu.txt - $PIP install cupy-cuda13x + $PIP install cupy-cuda12x $PYTHON -m setuptools_scm $PIP install . EOF From b95f1da182787c0ad4806ce8be5344c85b25d52f Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 13:01:48 +0100 Subject: [PATCH 13/18] ci: force nvidia-curang --- .github/workflows/buildcupy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildcupy.yaml b/.github/workflows/buildcupy.yaml index 1a9632c69..ce9279438 100644 --- a/.github/workflows/buildcupy.yaml +++ b/.github/workflows/buildcupy.yaml @@ -28,7 +28,7 @@ jobs: $PIP install --upgrade pip setuptools $PIP install install flake8 pytest setuptools-scm $PIP install -r requirements-dev-gpu.txt - $PIP install cupy-cuda12x + $PIP install nvidia-curand-cu12==10.3.9.90 cupy-cuda12x $PYTHON -m setuptools_scm $PIP install . EOF From f5b74d38755bcaa21f37a7f2ebcfa2d72209a557 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 15:06:53 +0100 Subject: [PATCH 14/18] ci: trying to fix cupy action --- .github/workflows/buildcupy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildcupy.yaml b/.github/workflows/buildcupy.yaml index ce9279438..bd7f9d39b 100644 --- a/.github/workflows/buildcupy.yaml +++ b/.github/workflows/buildcupy.yaml @@ -26,9 +26,9 @@ jobs: ls $PIP $PIP install $PIP install --upgrade pip setuptools - $PIP install install flake8 pytest setuptools-scm + $PIP install install flake8 pytest setuptools-scm cuda-bindings==12.9.4 $PIP install -r requirements-dev-gpu.txt - $PIP install nvidia-curand-cu12==10.3.9.90 cupy-cuda12x + $PIP install cupy-cuda12x $PYTHON -m setuptools_scm $PIP install . EOF From f16efdb117b21492086fddbb280c408f1abf94cb Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 15:10:56 +0100 Subject: [PATCH 15/18] ci: restore setup --- .github/workflows/buildcupy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildcupy.yaml b/.github/workflows/buildcupy.yaml index bd7f9d39b..1a9632c69 100644 --- a/.github/workflows/buildcupy.yaml +++ b/.github/workflows/buildcupy.yaml @@ -26,7 +26,7 @@ jobs: ls $PIP $PIP install $PIP install --upgrade pip setuptools - $PIP install install flake8 pytest setuptools-scm cuda-bindings==12.9.4 + $PIP install install flake8 pytest setuptools-scm $PIP install -r requirements-dev-gpu.txt $PIP install cupy-cuda12x $PYTHON -m setuptools_scm From a918451fbbe48f932b58bd05c7a68028bee87127 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 16:07:17 +0100 Subject: [PATCH 16/18] tmp: force torch<2.11 to solve issue in GPU CI --- requirements-torch.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-torch.txt b/requirements-torch.txt index c09599e39..32a0c7c11 100644 --- a/requirements-torch.txt +++ b/requirements-torch.txt @@ -1,2 +1,2 @@ --index-url https://download.pytorch.org/whl/cpu -torch>=2.0.0 +torch>=2.0.0<2.11 From e763fcc2bd5ef1596a123b7957aa2fa304bd73e7 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 16:09:50 +0100 Subject: [PATCH 17/18] minor: fix syntax --- requirements-torch.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-torch.txt b/requirements-torch.txt index 32a0c7c11..547bbc4aa 100644 --- a/requirements-torch.txt +++ b/requirements-torch.txt @@ -1,2 +1,2 @@ --index-url https://download.pytorch.org/whl/cpu -torch>=2.0.0<2.11 +torch>=2.0.0,<2.11 From 76318e32abf981be928f04b3e195f373fd87cba9 Mon Sep 17 00:00:00 2001 From: mrava87 Date: Sun, 29 Mar 2026 16:14:49 +0100 Subject: [PATCH 18/18] tmp: force torch<2.11 to solve issue in GPU CI --- requirements-dev-gpu.txt | 2 +- requirements-torch.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev-gpu.txt b/requirements-dev-gpu.txt index 6d011e53b..18d4b6c6b 100644 --- a/requirements-dev-gpu.txt +++ b/requirements-dev-gpu.txt @@ -1,7 +1,7 @@ numpy>=2.0.0 scipy>=1.13.0 cupy-cuda12x -torch +torch<2.11.0 numba sympy astra-toolbox>=2.3.0 diff --git a/requirements-torch.txt b/requirements-torch.txt index 547bbc4aa..c09599e39 100644 --- a/requirements-torch.txt +++ b/requirements-torch.txt @@ -1,2 +1,2 @@ --index-url https://download.pytorch.org/whl/cpu -torch>=2.0.0,<2.11 +torch>=2.0.0