[Git][debian-gis-team/utm][upstream] New upstream version 0.9.0

Antonio Valentino (@antonio.valentino) gitlab at salsa.debian.org
Wed Jul 29 20:32:11 BST 2026



Antonio Valentino pushed to branch upstream at Debian GIS Project / utm


Commits:
764a6ef5 by Antonio Valentino at 2026-07-29T19:11:32+00:00
New upstream version 0.9.0
- - - - -


11 changed files:

- .github/workflows/ci.yml
- CHANGELOG.rst
- numpy-1.x-requirements.txt
- numpy-2.x-requirements.txt
- + pyproject.toml
- requirements.txt
- scripts/utm-converter
- setup.py
- test/test_utm.py
- utm/_version.py
- utm/conversion.py


Changes:

=====================================
.github/workflows/ci.yml
=====================================
@@ -17,28 +17,27 @@ jobs:
       fail-fast: true
       matrix:
         python-version:
+          - "3.14"
           - "3.13"
           - "3.12"
           - "3.11"
           - "3.10"
-          - "3.9"
-          - "3.8"
         numpy-version:
           - false
           - "1.x"
           - "2.x"
         exclude:
+          - python-version: "3.14"
+            numpy-version: "1.x"
           - python-version: "3.13"
             numpy-version: "1.x"
-          - python-version: "3.8"
-            numpy-version: "2.x"
 
-    name: "Tests (Python v${{ matrix.python-version }}, NumPy: ${{ matrix.numpy-version }})"
+    name: "Tests (Python: ${{ matrix.python-version }}, NumPy: ${{ matrix.numpy-version }})"
     runs-on: ubuntu-24.04
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v7
 
-      - uses: actions/setup-python at v5
+      - uses: actions/setup-python at v7
         with:
           python-version: ${{ matrix.python-version }}
 
@@ -56,17 +55,17 @@ jobs:
     name: Release
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v7
 
-      - uses: actions/setup-python at v5
+      - uses: actions/setup-python at v7
         with:
-          python-version: "3.13"
+          python-version: "3.14"
 
       - run: pip install -r release-requirements.txt
 
       - run: python -m build
 
-      - uses: pypa/gh-action-pypi-publish at v1.12.4
+      - uses: pypa/gh-action-pypi-publish at v1.14.1
         with:
           user: __token__
           password: ${{ secrets.PYPI_TOKEN }}


=====================================
CHANGELOG.rst
=====================================
@@ -1,6 +1,23 @@
 Changelog
 =========
 
+Unreleased
+------
+
+* ...
+
+
+v0.9.0
+------
+
+* Add support for Python 3.14
+* Drop support for Python 3.9 and 3.10
+* Remove dependency definitions for unsupported Python versions
+* Remove Python 2.x leftovers
+* Fix handling of lowercase zone letters (#157)
+* Add support for PEP-517 (#153)
+
+
 v0.8.1
 ------
 


=====================================
numpy-1.x-requirements.txt
=====================================
@@ -1,2 +1 @@
-numpy==1.24.4; python_version < '3.9'
 numpy==1.26.4; python_version >= '3.9' and python_version < '3.13'


=====================================
numpy-2.x-requirements.txt
=====================================
@@ -1,3 +1,3 @@
-numpy==2.0.0; python_version >= '3.9' and python_version < '3.10'
-numpy==2.1.0; python_version >= '3.10' and python_version < '3.13'
-numpy==2.2.0; python_version >= '3.13'
+numpy==2.5.1; python_version >= '3.12' and python_version < '3.15'
+numpy==2.4.6; python_version >= '3.11' and python_version < '3.12'
+numpy==2.2.6; python_version >= '3.10' and python_version < '3.11'


=====================================
pyproject.toml
=====================================
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["setuptools"]
+build-backend = "setuptools.build_meta"


=====================================
requirements.txt
=====================================
@@ -1,3 +1,2 @@
-pytest==8.3.5
-pytest-cov==5.0.0; python_version < '3.9'
-pytest-cov==6.0.0; python_version >= '3.9'
+pytest==9.1.1; python_version >= '3.10' and python_version < '3.16'
+pytest-cov==7.1.0; python_version >= '3.9' and python_version < '3.15'


=====================================
scripts/utm-converter
=====================================
@@ -1,7 +1,5 @@
 #!/usr/bin/env python
 
-from __future__ import print_function
-
 import argparse
 import utm
 


=====================================
setup.py
=====================================
@@ -1,14 +1,25 @@
 from setuptools import setup
-
-from utm._version import __version__
-
 from pathlib import Path
+import re
+
 this_directory = Path(__file__).parent
+
+try:
+    version_file_content = (this_directory / "utm/_version.py").read_text()
+except:
+    raise RuntimeError("Failed to read version file")
+
+version_regex = re.compile(r"^__version__ = (['\"])(?P<version>.*)\1", re.M)
+if (version_match := version_regex.search(version_file_content)):
+    version = version_match.group("version")
+else:
+    raise RuntimeError("Failed to parse version")
+
 long_description = (this_directory / "README.rst").read_text()
 
 setup(
     name='utm',
-    version=__version__,
+    version=version,
     author='Tobias Bieniek',
     author_email='Tobias.Bieniek at gmx.de',
     url='https://github.com/Turbo87/utm',
@@ -27,6 +38,6 @@ setup(
         'Topic :: Scientific/Engineering :: GIS',
     ],
     packages=['utm'],
-    python_requires=">=3.8",
+    python_requires=">=3.10",
     scripts=['scripts/utm-converter'],
 )


=====================================
test/test_utm.py
=====================================
@@ -1,5 +1,3 @@
-from __future__ import division
-
 import utm as UTM
 
 import functools
@@ -420,6 +418,11 @@ def test_force_south():
         UTM.from_latlon(0.1, 0, 31, force_northern=True), 0.1, northern=True)
 
 
+def test_force_south_lowercase_letter():
+    # Force northern point to a lowercase southern zone letter
+    assert_equal_lat(UTM.from_latlon(0.1, 0, 31, 'm'), 0.1)
+
+
 @pytest.mark.skipif(not use_numpy, reason="numpy not installed")
 def test_no_force_numpy():
     # Point above and below equator


=====================================
utm/_version.py
=====================================
@@ -1 +1 @@
-__version__ = "0.8.1"
+__version__ = "0.9.0"


=====================================
utm/conversion.py
=====================================
@@ -1,4 +1,3 @@
-from __future__ import division
 from utm.error import OutOfRangeError
 
 # For most use cases in this module, numpy is indistinguishable
@@ -256,7 +255,7 @@ def from_latlon(latitude, longitude, force_zone_number=None, force_zone_letter=N
         zone_letter = force_zone_letter
 
     if force_northern is None:
-        northern = (zone_letter >= 'N')
+        northern = (zone_letter.upper() >= 'N')
     else:
         northern = force_northern
 



View it on GitLab: https://salsa.debian.org/debian-gis-team/utm/-/commit/764a6ef543ad97fe6f18babeff05097e9687ab32

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/utm/-/commit/764a6ef543ad97fe6f18babeff05097e9687ab32
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


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


More information about the Pkg-grass-devel mailing list