From 85e3693a14a6b73acdf64a59e3d6d24029112096 Mon Sep 17 00:00:00 2001 From: Daniel Stoops Date: Sun, 16 Aug 2026 12:08:07 +0300 Subject: [PATCH 1/3] CI: publish cp314 and mac wheels --- .github/workflows/publish-to-pypi.yml | 4 ++-- .github/workflows/publish-to-test-pypi.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index 2b350ae..35103bc 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -32,7 +32,7 @@ jobs: name: Build wheels on ${{matrix.os}} 🎡 strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-latest] + os: [ubuntu-latest, windows-latest, macos-15-intel, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -41,7 +41,7 @@ jobs: env: CIBW_BUILD: 'cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*' CIBW_SKIP: "pp* *-win32 *_i686" - uses: pypa/cibuildwheel@v2.21.1 + uses: pypa/cibuildwheel@v4.2.0 - uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/publish-to-test-pypi.yml b/.github/workflows/publish-to-test-pypi.yml index 4910a01..b937517 100644 --- a/.github/workflows/publish-to-test-pypi.yml +++ b/.github/workflows/publish-to-test-pypi.yml @@ -30,7 +30,7 @@ jobs: name: Build wheels on ${{matrix.os}} 🎡 strategy: matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-latest] + os: [ubuntu-latest, windows-latest, macos-15-intel, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -39,7 +39,7 @@ jobs: env: CIBW_BUILD: 'cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*' CIBW_SKIP: "pp* *-win32 *_i686" - uses: pypa/cibuildwheel@v2.21.1 + uses: pypa/cibuildwheel@v4.2.0 - uses: actions/upload-artifact@v4 with: From bd16c811bdc3c5aa674d5da8644578da7c1ce1bd Mon Sep 17 00:00:00 2001 From: Daniel Stoops Date: Sun, 16 Aug 2026 12:16:32 +0300 Subject: [PATCH 2/3] fix: remove tox extras --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 770e7fc..7676c9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -151,7 +151,6 @@ legacy_tox_ini = """ PYTHONUNBUFFERED = yes deps = .[dev] - extras = tests commands = python -m pytest --cov transforms84 --cov-report=term-missing python -m mypy From a6bf896a30024b765e3297a6ae5db6140d5c45ae Mon Sep 17 00:00:00 2001 From: Daniel Stoops Date: Sun, 16 Aug 2026 12:26:30 +0300 Subject: [PATCH 3/3] fix: tests support pandas 3.0 --- tests/test_ECEF2ENU.py | 24 ++++++++++++------------ tests/test_geodetic2ECEF.py | 12 ++++++------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tests/test_ECEF2ENU.py b/tests/test_ECEF2ENU.py index 1b02766..2ca59e7 100644 --- a/tests/test_ECEF2ENU.py +++ b/tests/test_ECEF2ENU.py @@ -96,22 +96,22 @@ def test_ECEF2ENU_point_int_unrolled_numbers_int(dtype_num): } ) m_x, m_y, m_z = ECEF2ENU( - dtype_num(df["radLatOrigin"]), - dtype_num(df["radLonOrigin"]), - dtype_num(df["mAltOrigin"]), - dtype_num(df["mETarget"]), - dtype_num(df["mYTarget"]), - dtype_num(df["mZTarget"]), + df["radLatOrigin"].astype(dtype_num), + df["radLonOrigin"].astype(dtype_num), + df["mAltOrigin"].astype(dtype_num), + df["mETarget"].astype(dtype_num), + df["mYTarget"].astype(dtype_num), + df["mZTarget"].astype(dtype_num), WGS84.a, WGS84.b, ) m_x64, m_y64, m_z64 = ECEF2ENU( - np.float64(dtype_num(df["radLatOrigin"])), - np.float64(dtype_num(df["radLonOrigin"])), - np.float64(dtype_num(df["mAltOrigin"])), - np.float64(dtype_num(df["mETarget"])), - np.float64(dtype_num(df["mYTarget"])), - np.float64(dtype_num(df["mZTarget"])), + df["radLatOrigin"].astype(dtype_num).astype(np.float64), + df["radLonOrigin"].astype(dtype_num).astype(np.float64), + df["mAltOrigin"].astype(dtype_num).astype(np.float64), + df["mETarget"].astype(dtype_num).astype(np.float64), + df["mYTarget"].astype(dtype_num).astype(np.float64), + df["mZTarget"].astype(dtype_num).astype(np.float64), WGS84.a, WGS84.b, ) diff --git a/tests/test_geodetic2ECEF.py b/tests/test_geodetic2ECEF.py index 6da4bc3..6ef2ce5 100644 --- a/tests/test_geodetic2ECEF.py +++ b/tests/test_geodetic2ECEF.py @@ -204,16 +204,16 @@ def test_geodetic2ECEF_point_unrolled_numbers_int(dtype_num): } ) out_x, out_y, out_z = geodetic2ECEF( - dtype_num(df["radLat"]), - dtype_num(df["radLon"]), - dtype_num(df["mAlt"]), + df["radLat"].astype(dtype_num), + df["radLon"].astype(dtype_num), + df["mAlt"].astype(dtype_num), WGS84.a, WGS84.b, ) out_x64, out_y64, out_z64 = geodetic2ECEF( - np.float64(dtype_num(df["radLat"])), - np.float64(dtype_num(df["radLon"])), - np.float64(dtype_num(df["mAlt"])), + df["radLat"].astype(dtype_num).astype(np.float64), + df["radLon"].astype(dtype_num).astype(np.float64), + df["mAlt"].astype(dtype_num).astype(np.float64), WGS84.a, WGS84.b, )