[Git][debian-gis-team/python-geotiepoints][upstream] New upstream version 1.8.0

Antonio Valentino (@antonio.valentino) gitlab at salsa.debian.org
Wed Sep 17 23:43:25 BST 2025



Antonio Valentino pushed to branch upstream at Debian GIS Project / python-geotiepoints


Commits:
b6abfb9b by Antonio Valentino at 2025-09-17T22:19:21+00:00
New upstream version 1.8.0
- - - - -


13 changed files:

- .github/workflows/ci.yaml
- .github/workflows/deploy.yaml
- .gitignore
- + .readthedocs.yml
- CHANGELOG.md
- doc/source/conf.py
- doc/source/index.rst
- geotiepoints/_modis_interpolator.pyx
- geotiepoints/version.py
- pyproject.toml
- + rtd_requirements.txt
- setup.cfg
- setup.py


Changes:

=====================================
.github/workflows/ci.yaml
=====================================
@@ -10,10 +10,10 @@ jobs:
       fail-fast: false
       matrix:
         os: ["windows-latest", "ubuntu-latest", "macos-latest"]
-        python-version: ["3.10", "3.11", "3.12"]
+        python-version: ["3.11", "3.12", "3.13"]
         experimental: [false]
         include:
-          - python-version: "3.12"
+          - python-version: "3.13"
             os: "ubuntu-latest"
             experimental: true
 
@@ -25,16 +25,18 @@ jobs:
 
     steps:
       - name: Checkout source
-        uses: actions/checkout at v4
+        uses: actions/checkout at v5
 
       - name: Setup Conda Environment
         uses: conda-incubator/setup-miniconda at v3
         with:
           miniforge-version: latest
-          channel-priority: strict
-          python-version: ${{ matrix.python-version }}
+          python-version: "${{ matrix.python-version }}"
           activate-environment: test-environment
           environment-file: continuous_integration/environment.yaml
+          channels: conda-forge
+          conda-remove-defaults: true
+          channel-priority: strict
 
       - name: Install unstable dependencies
         if: matrix.experimental == true
@@ -71,17 +73,11 @@ jobs:
         run: |
           pytest --cov=geotiepoints geotiepoints/tests --cov-report=xml --cov-report=
 
-      # FIXME: These fail
-#      - name: Test website
-#        shell: bash -l {0}
-#        run: |
-#          cd doc && mkdir doctest && sphinx-build -E -n -b doctest ./source ./doctest && cd ..
-
       - name: Upload unittest coverage to Codecov
-        uses: codecov/codecov-action at v4
+        uses: codecov/codecov-action at v5
         with:
           flags: unittests
-          file: ./coverage.xml
+          files: ./coverage.xml
           env_vars: OS,PYTHON_VERSION,UNSTABLE
 
       - name: Coveralls Parallel


=====================================
.github/workflows/deploy.yaml
=====================================
@@ -1,6 +1,5 @@
 name: Deploy sdist and wheels
 
-
 on:
   push:
   pull_request:
@@ -13,7 +12,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout source
-        uses: actions/checkout at v4
+        uses: actions/checkout at v5
 
       - name: Create sdist
         shell: bash -l {0}
@@ -28,46 +27,41 @@ jobs:
           path: dist/*.tar.gz
 
   build_wheels:
-    name: "Build wheels on ${{ matrix.os }} ${{ matrix.cibw_archs }}"
+    name: "Build wheels on ${{ matrix.os }} ${{ matrix.arch }}"
     runs-on: ${{ matrix.os }}
     strategy:
       fail-fast: false
       matrix:
         include:
-          - os: windows-2019
-            cibw_archs: "AMD64 ARM64"
-            artifact_name: "win"
-          - os: macos-latest
-            cibw_archs: "x86_64 arm64"
-            artifact_name: "mac"
-          - os: "ubuntu-20.04"
-            cibw_archs: "aarch64"
-            artifact_name: "ubuntu-aarch"
-          - os: "ubuntu-20.04"
-            cibw_archs: "x86_64"
-            artifact_name: "ubuntu-x86_64"
+          - os: windows-2022
+            arch: "AMD64"
+          - os: windows-11-arm
+            arch: "ARM64"
+          - os: macos-13
+            arch: "x86_64"
+          - os: macos-14
+            arch: "arm64"
+          - os: "ubuntu-24.04-arm"
+            arch: "aarch64"
+          - os: "ubuntu-24.04"
+            arch: "x86_64"
 
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v5
       - run: |
           git fetch --prune --unshallow
 
-      - name: Set up QEMU
-        if: runner.os == 'Linux'
-        uses: docker/setup-qemu-action at v3
-        with:
-          platforms: all
-
       - name: Build wheels
-        uses: pypa/cibuildwheel at v2.21.1
+        uses: pypa/cibuildwheel at v3.1.4
         env:
-          CIBW_SKIP: "cp36-* cp37-* cp38-* pp* *-manylinux_i686 *-musllinux_i686 *-musllinux_aarch64 *-win32"
-          CIBW_ARCHS: "${{ matrix.cibw_archs }}"
-          CIBW_TEST_SKIP: "*_arm64 *_universal2:arm64"
+          CIBW_SKIP: "cp39-* cp310-* *-manylinux_i686 *-musllinux_i686 *-musllinux_aarch64 *-win32"
+          CIBW_ARCHS: "${{ matrix.arch }}"
+          CIBW_TEST_SKIP: "*_arm64"
+          CIBW_ENABLE: cpython-freethreading
 
       - uses: actions/upload-artifact at v4
         with:
-          name: wheels-${{ matrix.artifact_name }}
+          name: wheels-${{ matrix.os }}-${{ matrix.arch }}
           path: ./wheelhouse/*.whl
 
   upload_to_pypi:
@@ -75,40 +69,26 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Download sdist artifact
-        uses: actions/download-artifact at v4
+        uses: actions/download-artifact at v5
         with:
           name: sdist
           path: dist
-      - name: Download wheels artifact - win
-        uses: actions/download-artifact at v4
-        with:
-          name: wheels-win
-          path: dist
-      - name: Download wheels artifact - mac
-        uses: actions/download-artifact at v4
-        with:
-          name: wheels-mac
-          path: dist
-      - name: Download wheels artifact - ubuntu aarch
-        uses: actions/download-artifact at v4
-        with:
-          name: wheels-ubuntu-aarch
-          path: dist
-      - name: Download wheels artifact - ubuntu x86_64
-        uses: actions/download-artifact at v4
+      - name: Download wheels artifact
+        uses: actions/download-artifact at v5
         with:
-          name: wheels-ubuntu-x86_64
+          pattern: wheels-*
+          merge-multiple: true
           path: dist
       - name: Publish package to Test PyPI
         if: github.event.action != 'published' && github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
-        uses: pypa/gh-action-pypi-publish at v1.10.2
+        uses: pypa/gh-action-pypi-publish at v1.13.0
         with:
           user: __token__
           password: ${{ secrets.test_pypi_password }}
           repository_url: https://test.pypi.org/legacy/
       - name: Publish package to PyPI
         if: github.event.action == 'published'
-        uses: pypa/gh-action-pypi-publish at v1.10.2
+        uses: pypa/gh-action-pypi-publish at v1.13.0
         with:
           user: __token__
           password: ${{ secrets.pypi_password }}


=====================================
.gitignore
=====================================
@@ -34,4 +34,4 @@ geotiepoints/*.c
 .idea
 
 # vscode
-.vscode
\ No newline at end of file
+.vscode


=====================================
.readthedocs.yml
=====================================
@@ -0,0 +1,19 @@
+version: 2
+
+build:
+  os: "ubuntu-20.04"
+  tools:
+    python: "3.11"
+  jobs:
+    post_checkout:
+      - git fetch --tags
+    pre_install:
+      - git update-index --assume-unchanged rtd_requirements.txt doc/source/conf.py
+sphinx:
+  configuration: doc/source/conf.py
+  fail_on_warning: true
+python:
+  install:
+    - requirements: rtd_requirements.txt
+    - method: pip
+      path: .


=====================================
CHANGELOG.md
=====================================
@@ -1,3 +1,24 @@
+## Version 1.8.0 (2025/09/10)
+
+### Issues Closed
+
+* [Issue 37](https://github.com/pytroll/python-geotiepoints/issues/37) - Issues with interpolation on a Sentinel Tie Point Grid. 
+
+In this release 1 issue was closed.
+
+### Pull Requests Merged
+
+#### Bugs fixed
+
+* [PR 103](https://github.com/pytroll/python-geotiepoints/pull/103) - Fix gcc compiler warnings in MODIS interpolator
+
+#### Features added
+
+* [PR 102](https://github.com/pytroll/python-geotiepoints/pull/102) - Add free-threading compatibility and drop Python 3.10 support
+
+In this release 2 pull requests were closed.
+
+
 ## Version 1.7.5 (2024/10/12)
 
 ### Issues Closed


=====================================
doc/source/conf.py
=====================================
@@ -154,8 +154,7 @@ html_theme = 'default'
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-#html_static_path = ['.static']
-html_static_path = ['sphinx_static']
+#html_static_path = []
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.


=====================================
doc/source/index.rst
=====================================
@@ -11,7 +11,7 @@ package should be generic enough to be used for any kind of data.
 
 The source code of the module can be found on the github_ page.
 
-.. _github: http://github.com/adybbroe/python-geotiepoints
+.. _github: http://github.com/pytroll/python-geotiepoints
 
 .. contents::
 
@@ -24,7 +24,7 @@ You can install the latest version of python-geotiepoints with pip::
 
 Alternatively, you can download the source code from github_::
 
-   git clone git://github.com/adybbroe/python-geotiepoints.git
+   git clone git://github.com/pytroll/python-geotiepoints.git
 
 and then run::
 


=====================================
geotiepoints/_modis_interpolator.pyx
=====================================
@@ -214,12 +214,12 @@ cdef class MODISInterpolator:
     ) noexcept nogil:
         cdef unsigned int scan_idx
         cdef int i
-        cdef int fine_idx
-        cdef int half_scan_length = self._fine_pixels_per_coarse_pixel // 2
+        cdef unsigned int fine_idx
+        cdef unsigned int half_scan_length = self._fine_pixels_per_coarse_pixel // 2
         cdef unsigned int fine_pixels_per_scan = self._coarse_scan_length * self._fine_pixels_per_coarse_pixel
         for fine_idx in range(fine_pixels_per_scan):
             if fine_idx < half_scan_length:
-                y_view[fine_idx] = -half_scan_length + 0.5 + fine_idx
+                y_view[fine_idx] = 0.5 + fine_idx - half_scan_length
             elif fine_idx >= fine_pixels_per_scan - half_scan_length:
                 y_view[fine_idx] = (self._fine_pixels_per_coarse_pixel + 0.5) + (half_scan_length - (fine_pixels_per_scan - fine_idx))
             else:


=====================================
geotiepoints/version.py
=====================================
@@ -26,9 +26,9 @@ def get_keywords():
     # setup.py/versioneer.py will grep for the variable names, so they must
     # each be defined on a line of their own. _version.py will just call
     # get_keywords().
-    git_refnames = " (HEAD -> main, tag: v1.7.5)"
-    git_full = "44f8e87bba78e29b5c8dda325984e069cbd2092a"
-    git_date = "2024-10-12 10:07:53 +0200"
+    git_refnames = " (HEAD -> main, tag: v1.8.0)"
+    git_full = "9efadb3ae47d06abc11bceb4f633fb27bc14bfbb"
+    git_date = "2025-09-10 13:34:22 -0500"
     keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
     return keywords
 


=====================================
pyproject.toml
=====================================
@@ -1,8 +1,15 @@
 [build-system]
-requires = ["setuptools", "wheel", "numpy>=2.0.0rc1,<3", "Cython>=3", "versioneer"]
+requires = ["setuptools", "wheel", "numpy>=2.0.0,<3", "Cython>=3.1.2", "versioneer[toml]"]
 build-backend = "setuptools.build_meta"
 
 [tool.coverage.run]
 relative_files = true
 plugins = ["Cython.Coverage"]
 omit = ["geotiepoints/version.py"]
+
+[tool.versioneer]
+VCS = "git"
+style = "pep440"
+versionfile_source = "geotiepoints/version.py"
+versionfile_build = "geotiepoints/version.py"
+tag_prefix = "v"


=====================================
rtd_requirements.txt
=====================================
@@ -0,0 +1,8 @@
+xarray
+dask[array]
+pyresample
+pyproj
+sphinx
+sphinxcontrib-apidoc
+pytest
+


=====================================
setup.cfg
=====================================
@@ -1,14 +1,3 @@
-[bdist_rpm]
-requires=numpy cython scipy
-release=1
-
 [flake8]
 max-line-length = 120
 ignore = D107
-
-[versioneer]
-VCS = git
-style = pep440
-versionfile_source = geotiepoints/version.py
-versionfile_build = geotiepoints/version.py
-tag_prefix = v


=====================================
setup.py
=====================================
@@ -23,7 +23,7 @@ from Cython.Build import build_ext
 from Cython.Distutils import Extension
 
 requirements = ['numpy', 'scipy', 'pandas']
-test_requires = ['pytest', 'pytest-cov', 'h5py', 'xarray', 'dask', 'pyproj', "pyresample"]
+test_requires = ['pytest', 'pytest-cov', 'h5py', 'xarray', 'dask[array]', 'pyproj', "pyresample"]
 
 if sys.platform.startswith("win"):
     extra_compile_args = []
@@ -67,6 +67,7 @@ except ValueError:
 
 cython_directives = {
     "language_level": "3",
+    "freethreading_compatible": True,
 }
 define_macros = [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")]
 if cython_coverage:
@@ -96,19 +97,25 @@ if __name__ == "__main__":
           long_description_content_type='text/markdown',
           author='Adam Dybbroe, Martin Raspaud',
           author_email='martin.raspaud at smhi.se',
-          classifiers=["Development Status :: 5 - Production/Stable",
-                       "Intended Audience :: Science/Research",
-                       "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
-                       "Operating System :: OS Independent",
-                       "Programming Language :: Python",
-                       "Programming Language :: Cython",
-                       "Topic :: Scientific/Engineering"],
+          classifiers=[
+              "Development Status :: 5 - Production/Stable",
+              "Intended Audience :: Science/Research",
+              "Operating System :: OS Independent",
+              "Programming Language :: Python",
+              "Programming Language :: Cython",
+              "Topic :: Scientific/Engineering",
+              "Programming Language :: Python :: Free Threading :: 1 - Unstable",
+          ],
+          license="GPL-3.0-or-later",
+          license_files=["LICENSE.txt"],
           url="https://github.com/pytroll/python-geotiepoints",
           packages=find_packages(),
-          python_requires='>=3.10',
+          python_requires='>=3.11',
           cmdclass=cmdclass,
           install_requires=requirements,
           ext_modules=EXTENSIONS,
-          tests_require=test_requires,
+          extras_require={
+              "tests": test_requires,
+          },
           zip_safe=False
           )



View it on GitLab: https://salsa.debian.org/debian-gis-team/python-geotiepoints/-/commit/b6abfb9b52464b3a5387f7c2897ec3fa6443dc96

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/python-geotiepoints/-/commit/b6abfb9b52464b3a5387f7c2897ec3fa6443dc96
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20250917/9e3b0e1e/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list