[Git][debian-gis-team/glymur][upstream] New upstream version 0.14.4

Antonio Valentino (@antonio.valentino) gitlab at salsa.debian.org
Sun Oct 12 12:33:41 BST 2025



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


Commits:
b8540293 by Antonio Valentino at 2025-10-12T11:28:51+00:00
New upstream version 0.14.4
- - - - -


18 changed files:

- .circleci/config.yml
- CHANGES.txt
- appveyor.yml
- ci/install.ps1
- ci/travis-311-no-gdal.yaml
- ci/travis-311-no-opj.yaml
- ci/travis-311.yaml
- ci/travis-313.yaml
- + ci/travis-314.yaml
- docs/source/conf.py
- docs/source/introduction.rst
- docs/source/whatsnew/0.14.rst
- glymur/jp2k.py
- glymur/jp2kr.py
- glymur/options.py
- glymur/version.py
- pyproject.toml
- tests/test_threading.py


Changes:

=====================================
.circleci/config.yml
=====================================
@@ -11,6 +11,7 @@ workflows:
       - travis-311
       - travis-312
       - travis-313
+      - travis-314
 
 test-template: &test-template
   docker:
@@ -60,3 +61,6 @@ jobs:
 
   travis-313:
     <<: *test-template
+
+  travis-314:
+    <<: *test-template


=====================================
CHANGES.txt
=====================================
@@ -1,3 +1,9 @@
+Oct 08, 2025 - v0.14.4
+    Qualify on python 3.14
+    Add User-Agent header to powershell script for Appveyor
+    Remove remaining openjpeg<2.4 artifacts
+    Remove explicit testing of numpy 1.26
+
 Jun 12, 2025 - v0.14.3
     Fix DeprecationWarning upon import
 


=====================================
appveyor.yml
=====================================
@@ -30,6 +30,12 @@ environment:
       CONDA_PY: "313"
       USE_PATH_FOR_GDAL_PYTHON: "YES"
 
+    - CONDA_ROOT: "C:\\Miniconda3_64"
+      PYTHON_VERSION: "3.14"
+      PYTHON_ARCH: "64"
+      CONDA_PY: "314"
+      USE_PATH_FOR_GDAL_PYTHON: "YES"
+
 # We always use a 64-bit machine, but can build x86 distributions
 # with the PYTHON_ARCH variable (which is used by CMD_IN_ENV).
 platform:


=====================================
ci/install.ps1
=====================================
@@ -7,6 +7,8 @@ $MINICONDA_URL = "http://repo.continuum.io/miniconda/"
 
 function DownloadMiniconda ($python_version, $platform_suffix) {
     $webclient = New-Object System.Net.WebClient
+    $webclient.Headers.Add("User-Agent", "Abraxis/1.0")
+
     $filename = "Miniconda3-latest-Windows-" + $platform_suffix + ".exe"
     $url = $MINICONDA_URL + $filename
 


=====================================
ci/travis-311-no-gdal.yaml
=====================================
@@ -3,11 +3,11 @@ channels:
     - conda-forge
 dependencies:
     - python=3.11.*
-    - gdal>=3.7.0,<3.8.0
+    - gdal>=3.8.0,<3.9.0
     - pillow
-    - libtiff>=4.5.0,<4.6.0
+    - libtiff>=4.6.0,<4.7.0
     - lxml>=5.0
-    - numpy>=1.26,<2.0
+    - numpy>=2.0,<2.1
     - openjpeg>=2.5
     - pytest-xdist
     - scikit-image


=====================================
ci/travis-311-no-opj.yaml
=====================================
@@ -3,11 +3,11 @@ channels:
     - conda-forge
 dependencies:
     - python=3.11.*
-    - gdal>=3.7.0,<3.8.0
+    - gdal>=3.8.0,<3.9.0
     - pillow
-    - libtiff>=4.5.0,<4.6.0
+    - libtiff>=4.6.0,<4.7.0
     - lxml>=5.0
-    - numpy>=1.26,<2.0
+    - numpy>=2.0,<2.1
     - pip
     - pytest-xdist
     - scikit-image


=====================================
ci/travis-311.yaml
=====================================
@@ -3,11 +3,11 @@ channels:
     - conda-forge
 dependencies:
     - python=3.11.*
-    - gdal>=3.7.0,<3.8.0
+    - gdal>=3.8.0,<3.9.0
     - pillow
-    - libtiff>=4.5.0,<4.6.0
+    - libtiff>=4.6.0,<4.7.0
     - lxml>=5.0
-    - numpy>=1.26,<2.0
+    - numpy>=2.0,<2.1
     - openjpeg>=2.5
     - pytest-xdist
     - scikit-image


=====================================
ci/travis-313.yaml
=====================================
@@ -6,8 +6,8 @@ dependencies:
     - gdal>=3.10.0,<3.11.0
     - pillow
     - libtiff>=4.7.0,<4.8.0
-    - lxml>=5.3.0
-    - numpy>=2.1
-    - openjpeg>=2.5
+    - lxml>=5.3.0,<6.0.0
+    - numpy>=2.1,<2.3.3
+    - openjpeg>=2.5.3,<2.5.4
     - pytest-xdist
     - scikit-image


=====================================
ci/travis-314.yaml
=====================================
@@ -0,0 +1,13 @@
+name: glymur
+channels:
+    - conda-forge
+dependencies:
+    - python>=3.14.0
+    - gdal>=3.11.0
+    - pillow
+    - libtiff>=4.7.1
+    - lxml>=6.0.2
+    - numpy>=2.3.3
+    - openjpeg>=2.5.4
+    - pytest-xdist
+    - scikit-image


=====================================
docs/source/conf.py
=====================================
@@ -81,7 +81,7 @@ copyright = '2013-2025, John Evans'
 # The short X.Y version.
 version = '0.14'
 # The full version, including alpha/beta/rc tags.
-release = '0.14.3'
+release = '0.14.4'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.


=====================================
docs/source/introduction.rst
=====================================
@@ -13,7 +13,7 @@ Certain optional JP2 boxes can also be written, including XML boxes and
 XMP UUIDs.  There is incomplete support for reading JPX metadata.
 
 The current version of glymur is supported on Python versions 3.11,
-3.12, and 3.13.  You should have at least version 2.4.0 of OpenJPEG.
+3.12, 3.13, and 3.14.  You should have at least version 2.4.0 of OpenJPEG.
 
 For more information about OpenJPEG, please consult http://www.openjpeg.org.
 


=====================================
docs/source/whatsnew/0.14.rst
=====================================
@@ -2,11 +2,20 @@
 Changes in glymur 0.14
 ######################
 
+*****************
+Changes in 0.14.4
+*****************
+
+    * Qualify on python 3.14
+    * Add User-Agent header to powershell script for Appveyor
+    * Remove remaining openjpeg<2.4 artifacts
+    * Remove explicit testing of numpy 1.x
+
 *****************
 Changes in 0.14.3
 *****************
 
-    * Fix DeprecationWarning upon import
+    * Fix import warning
 
 *****************
 Changes in 0.14.2


=====================================
glymur/jp2k.py
=====================================
@@ -526,10 +526,10 @@ class Jp2k(Jp2kr):
         This method can only be used to create JPEG 2000 images that can fit
         in memory.
         """
-        if version.openjpeg_version < "2.3.0":
+        if version.openjpeg_version < "2.4.0":
             msg = (
-                "You must have at least version 2.3.0 of OpenJPEG in order to "
-                "write images."
+                "The minimum supported version of OpenJPEG is 2.4.0.  "
+                f"Your version is {version.openjpeg_version}."
             )
             raise RuntimeError(msg)
 
@@ -1463,10 +1463,10 @@ class _TileWriter(object):
         """Write image data to a JP2/JPX/J2k file.  Intended usage of the
         various parameters follows that of OpenJPEG's opj_compress utility.
         """
-        if version.openjpeg_version < "2.3.0":
+        if version.openjpeg_version < "2.4.0":
             msg = (
-                "You must have at least version 2.3.0 of OpenJPEG "
-                "in order to write images."
+                "The minimum supported version of OpenJPEG is 2.4.0.  "
+                f"Your version is {version.openjpeg_version}."
             )
             raise RuntimeError(msg)
 


=====================================
glymur/jp2kr.py
=====================================
@@ -12,7 +12,6 @@ from __future__ import annotations
 from contextlib import ExitStack
 import ctypes
 import pathlib
-import re
 import struct
 import sys
 import warnings
@@ -694,11 +693,10 @@ class Jp2kr(Jp2kBox):
         RuntimeError
             If the image has differing subsample factors.
         """
-        if re.match("0|1|2.[012]", version.openjpeg_version):
+        if version.openjpeg_version < '2.4.0':
             msg = (
-                f"You must have a version of OpenJPEG at least as high as "
-                f"2.3.0 before you can read JPEG2000 images with glymur.  "
-                f"Your version is {version.openjpeg_version}"
+                "The minimum supported version of OpenJPEG is 2.4.0.  "
+                f"Your version is {version.openjpeg_version}."
             )
             raise RuntimeError(msg)
 
@@ -878,11 +876,10 @@ class Jp2kr(Jp2kBox):
         >>> jp = glymur.Jp2k(jfile)
         >>> components_lst = jp.read_bands(rlevel=1)
         """
-        if version.openjpeg_version < "2.3.0":
+        if version.openjpeg_version < "2.4.0":
             msg = (
-                f"You must have at least version 2.3.0 of OpenJPEG installed "
-                f"before using this method.  Your version of OpenJPEG is "
-                f"{version.openjpeg_version}."
+                "The minimum supported version of OpenJPEG is 2.4.0.  "
+                f"Your version is {version.openjpeg_version}."
             )
             raise RuntimeError(msg)
 


=====================================
glymur/options.py
=====================================
@@ -71,11 +71,10 @@ def set_option(key, value):
         raise KeyError(f"{key} not valid.")
 
     if key == "lib.num_threads":
-        if version.openjpeg_version < "2.2.0":
+        if version.openjpeg_version < "2.4.0":
             msg = (
-                f"Thread support is not available on versions of OpenJPEG "
-                f"prior to 2.2.0.  Your version is "
-                f"{version.openjpeg_version}."
+                "The minimum supported version of OpenJPEG is 2.4.0.  "
+                f"Your version is {version.openjpeg_version}."
             )
             raise RuntimeError(msg)
         if not opj2.has_thread_support():


=====================================
glymur/version.py
=====================================
@@ -20,7 +20,7 @@ from .lib import _tiff as tiff
 
 # Do not change the format of this next line!  Doing so risks breaking
 # setup.py
-version = "0.14.3"
+version = "0.14.4"
 
 version_tuple = parse(version).release
 


=====================================
pyproject.toml
=====================================
@@ -5,6 +5,7 @@ classifiers = [
     'Programming Language :: Python :: 3.11',
     'Programming Language :: Python :: 3.12',
     'Programming Language :: Python :: 3.13',
+    'Programming Language :: Python :: 3.14',
     'Programming Language :: Python :: Implementation :: CPython',
     'Intended Audience :: Science/Research',
     'Operating System :: OS Independent',
@@ -21,7 +22,7 @@ license = 'MIT'
 name = 'Glymur'
 readme = 'README.md'
 requires-python = '>=3.11'
-version = '0.14.3'
+version = '0.14.4'
 
 [project.scripts]
 jp2dump = 'glymur.command_line:main'


=====================================
tests/test_threading.py
=====================================
@@ -107,18 +107,18 @@ class TestSuite(fixtures.TestCommon):
         SCENARIO:  Attempt to encode with threading support.  This feature is
         new as of openjpeg library version 2.4.0.
 
-        EXPECTED RESULT:  In library versions prior to 2.4.0, a warning is
-        issued.
+        EXPECTED RESULT:  OpenJPEG currently must be at least 2.4.0, so no
+        warning is issued.
         """
-        with patch('glymur.jp2k.version.openjpeg_version', new='2.3.0'):
-            glymur.set_option('lib.num_threads', 2)
-
-            with warnings.catch_warnings(record=True) as w:
-                Jp2k(
-                    self.temp_jp2_filename,
-                    data=np.zeros((128, 128), dtype=np.uint8)
-                )
-                self.assertEqual(len(w), 1)
+        glymur.set_option('lib.num_threads', 2)
+
+        with warnings.catch_warnings(record=True) as w:
+            Jp2k(
+                self.temp_jp2_filename,
+                data=np.zeros((128, 128), dtype=np.uint8)
+            )
+
+            self.assertEqual(len(w), 0)
 
     def test_tiff2jp2_num_threads(self):
         """
@@ -147,7 +147,7 @@ class TestSuite(fixtures.TestCommon):
         openjpeg library is not too old for writing, it's too old for threaded
         writing.  In other words, it's version 2.3.0
 
-        EXPECTED RESULT:  There is a warning, but the image is created.
+        EXPECTED RESULT:  RuntimeError
         """
         expected = skimage.data.astronaut()
 
@@ -162,12 +162,6 @@ class TestSuite(fixtures.TestCommon):
         )
 
         with patch('glymur.version.openjpeg_version', new='2.3.0'):
-            with self.assertWarns(UserWarning):
+            with self.assertRaises(RuntimeError):
                 for tw in j.get_tilewriters():
                     tw[:] = expected
-
-        expected = np.concatenate((expected, expected), axis=0)
-        expected = np.concatenate((expected, expected), axis=1)
-        actual = j[:]
-
-        np.testing.assert_array_equal(actual, expected)



View it on GitLab: https://salsa.debian.org/debian-gis-team/glymur/-/commit/b8540293fc790cdae1441131be44cf00b79e1603

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/glymur/-/commit/b8540293fc790cdae1441131be44cf00b79e1603
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/20251012/25439223/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list