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

Antonio Valentino (@antonio.valentino) gitlab at salsa.debian.org
Sun Feb 1 18:43:40 GMT 2026



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


Commits:
768f0df7 by Antonio Valentino at 2026-02-01T18:33:22+00:00
New upstream version 0.14.6
- - - - -


21 changed files:

- .circleci/config.yml
- CHANGES.txt
- appveyor.yml
- − azure-pipelines.yml
- ci/travis-311-no-gdal.yaml → ci/ci-311.yaml
- ci/travis-312.yaml → ci/ci-312.yaml
- ci/travis-313.yaml → ci/ci-313.yaml
- ci/travis-314.yaml → ci/ci-314-no-gdal.yaml
- ci/travis-311-no-opj.yaml → ci/ci-314-no-opj.yaml
- ci/travis-311.yaml → ci/ci-314.yaml
- docs/source/conf.py
- docs/source/whatsnew/0.14.rst
- glymur/_core_converter.py
- glymur/jp2k.py
- glymur/jp2kr.py
- glymur/version.py
- pyproject.toml
- tests/fixtures.py
- tests/test_commandline_jpeg2jp2.py
- tests/test_config.py
- tests/test_jpeg2jp2.py


Changes:

=====================================
.circleci/config.yml
=====================================
@@ -6,12 +6,12 @@ workflows:
   version: 2
   test:
     jobs:
-      - travis-311-no-gdal
-      - travis-311-no-opj
-      - travis-311
-      - travis-312
-      - travis-313
-      - travis-314
+      - ci-311
+      - ci-312
+      - ci-313
+      - ci-314-no-gdal
+      - ci-314-no-opj
+      - ci-314
 
 test-template: &test-template
   docker:
@@ -47,20 +47,20 @@ test-template: &test-template
           pytest --doctest-modules glymur
 
 jobs:
-  travis-311-no-gdal:
+  ci-311:
     <<: *test-template
 
-  travis-311-no-opj:
+  ci-312:
     <<: *test-template
 
-  travis-311:
+  ci-313:
     <<: *test-template
 
-  travis-312:
+  ci-314-no-gdal:
     <<: *test-template
 
-  travis-313:
+  ci-314-no-opj:
     <<: *test-template
 
-  travis-314:
+  ci-314:
     <<: *test-template


=====================================
CHANGES.txt
=====================================
@@ -1,3 +1,6 @@
+Jan 26, 2025 - v0.14.6
+    Fix numpy 2.5 deprecation issue
+
 Oct 08, 2025 - v0.14.4
     Qualify on python 3.14
     Add User-Agent header to powershell script for Appveyor


=====================================
appveyor.yml
=====================================
@@ -71,7 +71,7 @@ install:
   - cmd: conda info -a
 
   # create our env
-  - SET REQ=ci\travis-%CONDA_PY%.yaml
+  - SET REQ=ci\ci-%CONDA_PY%.yaml
   - cmd: echo "installing requirements from %REQ%"
   - cmd: conda env create --file=%REQ%
   - cmd: conda list -n glymur


=====================================
azure-pipelines.yml deleted
=====================================
@@ -1,30 +0,0 @@
-# Python package
-# Create and test a Python package on multiple Python versions.
-# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more:
-# https://docs.microsoft.com/azure/devops/pipelines/languages/python
-
-trigger:
-- master
-
-pool:
-  vmImage: ubuntu-latest
-strategy:
-  matrix:
-    Python37:
-      python.version: '3.7'
-
-steps:
-- task: UsePythonVersion at 0
-  inputs:
-    versionSpec: '$(python.version)'
-  displayName: 'Use Python $(python.version)'
-
-- script: |
-    python -m pip install --upgrade pip
-    pip install -r requirements.txt
-  displayName: 'Install dependencies'
-
-- script: |
-    pip install pytest pytest-azurepipelines
-    pytest
-  displayName: 'pytest'


=====================================
ci/travis-311-no-gdal.yaml → ci/ci-311.yaml
=====================================


=====================================
ci/travis-312.yaml → ci/ci-312.yaml
=====================================


=====================================
ci/travis-313.yaml → ci/ci-313.yaml
=====================================
@@ -4,6 +4,7 @@ channels:
 dependencies:
     - python=3.13.*
     - gdal>=3.10.0,<3.11.0
+    - libgdal-jp2openjpeg
     - pillow
     - libtiff>=4.7.0,<4.8.0
     - lxml>=5.3.0,<6.0.0


=====================================
ci/travis-314.yaml → ci/ci-314-no-gdal.yaml
=====================================
@@ -3,11 +3,11 @@ 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
+    - pip
     - pytest-xdist
     - scikit-image


=====================================
ci/travis-311-no-opj.yaml → ci/ci-314-no-opj.yaml
=====================================
@@ -2,12 +2,12 @@ name: glymur
 channels:
     - conda-forge
 dependencies:
-    - python=3.11.*
-    - gdal>=3.8.0,<3.9.0
+    - python>=3.14.0
+    - gdal>=3.11.0
     - pillow
-    - libtiff>=4.6.0,<4.7.0
-    - lxml>=5.0
-    - numpy>=2.0,<2.1
+    - libtiff>=4.7.1
+    - lxml>=6.0.2
+    - numpy>=2.3.3
     - pip
     - pytest-xdist
     - scikit-image


=====================================
ci/travis-311.yaml → ci/ci-314.yaml
=====================================
@@ -2,12 +2,13 @@ name: glymur
 channels:
     - conda-forge
 dependencies:
-    - python=3.11.*
-    - gdal>=3.8.0,<3.9.0
+    - python>=3.14.0
+    - gdal>=3.11.0
+    - libgdal-jp2openjpeg
     - pillow
-    - libtiff>=4.6.0,<4.7.0
-    - lxml>=5.0
-    - numpy>=2.0,<2.1
-    - openjpeg>=2.5
+    - libtiff>=4.7.1
+    - lxml>=6.0.2
+    - numpy>=2.3.3
+    - openjpeg>=2.5.4
     - pytest-xdist
     - scikit-image


=====================================
docs/source/conf.py
=====================================
@@ -72,7 +72,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = 'glymur'
-copyright = '2013-2025, John Evans'
+copyright = '2013-2026, John Evans'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
@@ -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.4'
+release = '0.14.6'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.


=====================================
docs/source/whatsnew/0.14.rst
=====================================
@@ -2,6 +2,26 @@
 Changes in glymur 0.14
 ######################
 
+*****************
+Changes in 0.14.6
+*****************
+
+    * Fix numpy 2.5 deprecation warning
+
+*****************
+Changes in 0.14.5
+*****************
+
+    * Suppress W291 warning from doctests
+    * Remove two debugging breakpoints
+    * Update CI infrastructure for names
+    * Update testing, deprecate python 3.11
+    * Use importlib.resources instead of importlib.metadata
+    * Remove custom chdir context manager
+    * Use sys.version() to determine if anaconda or not on tests
+    * Add libgdal-jp2openjpeg to CI
+    * Remove broken azure pipelines setup
+
 *****************
 Changes in 0.14.4
 *****************


=====================================
glymur/_core_converter.py
=====================================
@@ -276,11 +276,7 @@ class _2JP2Converter(object):
 
             b.seek(tag_offset)
 
-            try:
-                dtype = tags[tag]["dtype"]
-            except IndexError:
-                breakpoint()
-                pass
+            dtype = tags[tag]["dtype"]
 
             nvalues = tags[tag]["nvalues"]
             payload = tags[tag]["payload"]


=====================================
glymur/jp2k.py
=====================================
@@ -741,6 +741,7 @@ class Jp2k(Jp2kr):
 
         Examples
         --------
+        # noqa : W291
         >>> import io, shutil, lxml.etree as ET
         >>> _ = shutil.copyfile(glymur.data.nemo(), 'new-nemo.jp2')
         >>> j = glymur.Jp2k('new-nemo.jp2')


=====================================
glymur/jp2kr.py
=====================================
@@ -395,7 +395,6 @@ class Jp2kr(Jp2kBox):
         """
         .. deprecated:: 0.15.0
         """
-        breakpoint()
         msg = "Deprecated, do not use."
         warnings.warn(msg, DeprecationWarning)
         self._parse(force=force)
@@ -948,7 +947,7 @@ class Jp2kr(Jp2kBox):
         if is_cube and image.shape[2] == 1:
             # The third dimension has just a single layer.  Make the image
             # data 2D instead of 3D.
-            image.shape = image.shape[0:2]
+            image = np.reshape(image, image.shape[0:2])
 
         return image
 


=====================================
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.4"
+version = "0.14.6"
 
 version_tuple = parse(version).release
 


=====================================
pyproject.toml
=====================================
@@ -22,7 +22,7 @@ license = 'MIT'
 name = 'Glymur'
 readme = 'README.md'
 requires-python = '>=3.11'
-version = '0.14.4'
+version = '0.14.6'
 
 [project.scripts]
 jp2dump = 'glymur.command_line:main'


=====================================
tests/fixtures.py
=====================================
@@ -3,21 +3,18 @@ Test fixtures common to more than one test point.
 """
 
 # Standard library imports
-import importlib.metadata as im
+import importlib.resources as ir
 import pathlib
-import platform
 import shutil
 import sys
 import tempfile
 import unittest
 
 # are we anaconda?
-try:
-    import conda  # noqa : F401
-except ImportError:
-    ANACONDA = False
-else:
+if 'conda' in sys.version.lower():
     ANACONDA = True
+else:
+    ANACONDA = False
 
 # are we macports?
 if sys.executable.startswith('/opt/local/Library/Frameworks/Python.framework'):
@@ -25,20 +22,6 @@ if sys.executable.startswith('/opt/local/Library/Frameworks/Python.framework'):
 else:
     MACPORTS = False
 
-# are we a linux platform that can use importlib.metadata
-if (
-    platform.system() == 'linux'
-    and platform.freedesktop_os_release()['id'] == 'opensuse-tumbleweed'
-):
-    LINUX_WITH_GOOD_IMPORTLIBMETADATA = True
-else:
-    LINUX_WITH_GOOD_IMPORTLIBMETADATA = False
-
-if ANACONDA or MACPORTS or LINUX_WITH_GOOD_IMPORTLIBMETADATA:
-    CANNOT_USE_IMPORTLIB_METADATA = False
-else:
-    CANNOT_USE_IMPORTLIB_METADATA = True
-
 # 3rd party library imports
 try:
     from osgeo import gdal  # noqa : F401
@@ -107,22 +90,9 @@ class TestJPEGCommon(TestCommon):
         Use some files supplied by scikit-image for our tests.
         """
 
-        files = im.files('scikit-image')
-
-        jpeg = next(filter(lambda x: 'retina' in x.name, files), None)
-        cls.retina = jpeg.locate()
-
-        jpeg = next(
-            filter(lambda x: 'hubble_deep_field' in x.name, files),
-            None
-        )
-        cls.hubble = jpeg.locate()
-
-        jpeg = next(
-            filter(lambda x: 'rocket' in x.name, files),
-            None
-        )
-        cls.rocket = jpeg.locate()
+        cls.retina = ir.files('skimage') / 'data' / 'retina.jpg'
+        cls.hubble = ir.files('skimage') / 'data' / 'hubble_deep_field.jpg'
+        cls.rocket = ir.files('skimage') / 'data' / 'rocket.jpg'
 
     def setUp(self):
         super().setUp()


=====================================
tests/test_commandline_jpeg2jp2.py
=====================================
@@ -13,16 +13,11 @@ from glymur import JPEG2JP2, command_line, reset_option
 from . import fixtures
 from .fixtures import (
     OPENJPEG_NOT_AVAILABLE,
-    OPENJPEG_NOT_AVAILABLE_MSG,
-    CANNOT_USE_IMPORTLIB_METADATA
+    OPENJPEG_NOT_AVAILABLE_MSG
 )
 
 
 @unittest.skipIf(OPENJPEG_NOT_AVAILABLE, OPENJPEG_NOT_AVAILABLE_MSG)
- at unittest.skipIf(
-    CANNOT_USE_IMPORTLIB_METADATA,
-    'missing importlib.metadata.files ?'
-)
 class TestSuite(fixtures.TestJPEGCommon):
 
     def test_smoke(self):


=====================================
tests/test_config.py
=====================================
@@ -5,7 +5,6 @@ OPENJP2 may be present in some form or other.
 # Standard library imports ...
 import contextlib
 import importlib
-import os
 import pathlib
 import platform
 import unittest
@@ -18,26 +17,6 @@ from glymur import Jp2k
 from .fixtures import TestCommon, OPENJPEG_NOT_AVAILABLE, OPENJPEG_NOT_AVAILABLE_MSG  # noqa : E501
 
 
- at contextlib.contextmanager
-def chdir(dirname=None):
-    """
-    This context manager restores the value of the current working directory
-    (cwd) after the enclosed code block completes or raises an exception.  If a
-    directory name is supplied to the context manager then the cwd is changed
-    prior to running the code block.
-
-    Shamelessly lifted from
-    http://www.astropython.org/snippet/2009/10/chdir-context-manager
-    """
-    curdir = os.getcwd()
-    try:
-        if dirname is not None:
-            os.chdir(dirname)
-        yield
-    finally:
-        os.chdir(curdir)
-
-
 @patch("glymur.config.glymurrc_fname", lambda: None)
 class TestSuitePathToLibrary(TestCommon):
     """
@@ -331,7 +310,7 @@ class TestSuiteConfigFile(TestCommon):
             f.write("[library]\n")
             f.write(f"openjp2: {expected}\n")
 
-        with chdir(self.glymur_configdir):
+        with contextlib.chdir(self.glymur_configdir):
             # Should be able to load openjp2 as before.
             actual = glymur.config.read_config_file("openjp2")
 


=====================================
tests/test_jpeg2jp2.py
=====================================
@@ -17,15 +17,10 @@ from . import fixtures
 from .fixtures import (
     OPENJPEG_NOT_AVAILABLE,
     OPENJPEG_NOT_AVAILABLE_MSG,
-    CANNOT_USE_IMPORTLIB_METADATA
 )
 
 
 @unittest.skipIf(OPENJPEG_NOT_AVAILABLE, OPENJPEG_NOT_AVAILABLE_MSG)
- at unittest.skipIf(
-    CANNOT_USE_IMPORTLIB_METADATA,
-    'missing importlib.metadata.files ?'
-)
 class TestSuite(fixtures.TestJPEGCommon):
 
     def test_smoke(self):



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

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/glymur/-/commit/768f0df787c81681b9cd88cf26caba7038fd7c09
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/20260201/0677adb3/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list