Glymur 0.14.4__tar.gz → 0.14.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. {glymur-0.14.4 → glymur-0.14.6}/.circleci/config.yml +12 -12
  2. {glymur-0.14.4 → glymur-0.14.6}/CHANGES.txt +3 -0
  3. {glymur-0.14.4 → glymur-0.14.6}/Glymur.egg-info/PKG-INFO +1 -1
  4. {glymur-0.14.4 → glymur-0.14.6}/Glymur.egg-info/SOURCES.txt +6 -7
  5. {glymur-0.14.4 → glymur-0.14.6}/PKG-INFO +1 -1
  6. {glymur-0.14.4 → glymur-0.14.6}/appveyor.yml +1 -1
  7. glymur-0.14.4/ci/travis-313.yaml → glymur-0.14.6/ci/ci-313.yaml +1 -0
  8. glymur-0.14.4/ci/travis-314.yaml → glymur-0.14.6/ci/ci-314-no-gdal.yaml +1 -1
  9. glymur-0.14.4/ci/travis-311-no-opj.yaml → glymur-0.14.6/ci/ci-314-no-opj.yaml +5 -5
  10. glymur-0.14.6/ci/ci-314.yaml +14 -0
  11. {glymur-0.14.4 → glymur-0.14.6}/docs/source/conf.py +2 -2
  12. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.14.rst +20 -0
  13. {glymur-0.14.4 → glymur-0.14.6}/glymur/_core_converter.py +1 -5
  14. {glymur-0.14.4 → glymur-0.14.6}/glymur/jp2k.py +1 -0
  15. {glymur-0.14.4 → glymur-0.14.6}/glymur/jp2kr.py +1 -2
  16. {glymur-0.14.4 → glymur-0.14.6}/glymur/version.py +1 -1
  17. {glymur-0.14.4 → glymur-0.14.6}/pyproject.toml +1 -1
  18. {glymur-0.14.4 → glymur-0.14.6}/tests/fixtures.py +7 -37
  19. {glymur-0.14.4 → glymur-0.14.6}/tests/test_commandline_jpeg2jp2.py +1 -6
  20. {glymur-0.14.4 → glymur-0.14.6}/tests/test_config.py +1 -22
  21. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jpeg2jp2.py +0 -5
  22. glymur-0.14.4/azure-pipelines.yml +0 -30
  23. glymur-0.14.4/ci/travis-311.yaml +0 -13
  24. {glymur-0.14.4 → glymur-0.14.6}/.gitignore +0 -0
  25. {glymur-0.14.4 → glymur-0.14.6}/.readthedocs.yaml +0 -0
  26. {glymur-0.14.4 → glymur-0.14.6}/.travis.yml +0 -0
  27. {glymur-0.14.4 → glymur-0.14.6}/Glymur.egg-info/dependency_links.txt +0 -0
  28. {glymur-0.14.4 → glymur-0.14.6}/Glymur.egg-info/entry_points.txt +0 -0
  29. {glymur-0.14.4 → glymur-0.14.6}/Glymur.egg-info/requires.txt +0 -0
  30. {glymur-0.14.4 → glymur-0.14.6}/Glymur.egg-info/top_level.txt +0 -0
  31. {glymur-0.14.4 → glymur-0.14.6}/LICENSE.txt +0 -0
  32. {glymur-0.14.4 → glymur-0.14.6}/MANIFEST.in +0 -0
  33. {glymur-0.14.4 → glymur-0.14.6}/README.md +0 -0
  34. /glymur-0.14.4/ci/travis-311-no-gdal.yaml → /glymur-0.14.6/ci/ci-311.yaml +0 -0
  35. /glymur-0.14.4/ci/travis-312.yaml → /glymur-0.14.6/ci/ci-312.yaml +0 -0
  36. {glymur-0.14.4 → glymur-0.14.6}/ci/doc.yml +0 -0
  37. {glymur-0.14.4 → glymur-0.14.6}/ci/install.ps1 +0 -0
  38. {glymur-0.14.4 → glymur-0.14.6}/ci/run_script.sh +0 -0
  39. {glymur-0.14.4 → glymur-0.14.6}/ci/run_with_env.cmd +0 -0
  40. {glymur-0.14.4 → glymur-0.14.6}/ci/setup_env.sh +0 -0
  41. {glymur-0.14.4 → glymur-0.14.6}/conftest.py +0 -0
  42. {glymur-0.14.4 → glymur-0.14.6}/docs/Makefile +0 -0
  43. {glymur-0.14.4 → glymur-0.14.6}/docs/make.bat +0 -0
  44. {glymur-0.14.4 → glymur-0.14.6}/docs/requirements.txt +0 -0
  45. {glymur-0.14.4 → glymur-0.14.6}/docs/source/api.rst +0 -0
  46. {glymur-0.14.4 → glymur-0.14.6}/docs/source/detailed_installation.rst +0 -0
  47. {glymur-0.14.4 → glymur-0.14.6}/docs/source/goodstuff_alpha.png +0 -0
  48. {glymur-0.14.4 → glymur-0.14.6}/docs/source/how_do_i.rst +0 -0
  49. {glymur-0.14.4 → glymur-0.14.6}/docs/source/index.rst +0 -0
  50. {glymur-0.14.4 → glymur-0.14.6}/docs/source/introduction.rst +0 -0
  51. {glymur-0.14.4 → glymur-0.14.6}/docs/source/roadmap.rst +0 -0
  52. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.10.rst +0 -0
  53. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.11.rst +0 -0
  54. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.12.rst +0 -0
  55. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.13.rst +0 -0
  56. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.5.rst +0 -0
  57. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.6.rst +0 -0
  58. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.7.rst +0 -0
  59. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.8.rst +0 -0
  60. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/0.9.rst +0 -0
  61. {glymur-0.14.4 → glymur-0.14.6}/docs/source/whatsnew/index.rst +0 -0
  62. {glymur-0.14.4 → glymur-0.14.6}/glymur/__init__.py +0 -0
  63. {glymur-0.14.4 → glymur-0.14.6}/glymur/_iccprofile.py +0 -0
  64. {glymur-0.14.4 → glymur-0.14.6}/glymur/codestream.py +0 -0
  65. {glymur-0.14.4 → glymur-0.14.6}/glymur/command_line.py +0 -0
  66. {glymur-0.14.4 → glymur-0.14.6}/glymur/config.py +0 -0
  67. {glymur-0.14.4 → glymur-0.14.6}/glymur/core.py +0 -0
  68. {glymur-0.14.4 → glymur-0.14.6}/glymur/data/__init__.py +0 -0
  69. {glymur-0.14.4 → glymur-0.14.6}/glymur/data/goodstuff.j2k +0 -0
  70. {glymur-0.14.4 → glymur-0.14.6}/glymur/data/heliov.jpx +0 -0
  71. {glymur-0.14.4 → glymur-0.14.6}/glymur/data/nemo.jp2 +0 -0
  72. {glymur-0.14.4 → glymur-0.14.6}/glymur/jp2box.py +0 -0
  73. {glymur-0.14.4 → glymur-0.14.6}/glymur/jpeg.py +0 -0
  74. {glymur-0.14.4 → glymur-0.14.6}/glymur/lib/__init__.py +0 -0
  75. {glymur-0.14.4 → glymur-0.14.6}/glymur/lib/_tiff.py +0 -0
  76. {glymur-0.14.4 → glymur-0.14.6}/glymur/lib/openjp2.py +0 -0
  77. {glymur-0.14.4 → glymur-0.14.6}/glymur/lib/tiff.py +0 -0
  78. {glymur-0.14.4 → glymur-0.14.6}/glymur/options.py +0 -0
  79. {glymur-0.14.4 → glymur-0.14.6}/glymur/tiff.py +0 -0
  80. {glymur-0.14.4 → glymur-0.14.6}/setup.cfg +0 -0
  81. {glymur-0.14.4 → glymur-0.14.6}/tests/__init__.py +0 -0
  82. {glymur-0.14.4 → glymur-0.14.6}/tests/data/__init__.py +0 -0
  83. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/__init__.py +0 -0
  84. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/file1_xml.txt +0 -0
  85. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/file1_xml_box.txt +0 -0
  86. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/p0_02.j2k +0 -0
  87. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/p0_03.j2k +0 -0
  88. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/p0_06.j2k +0 -0
  89. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/p1_06.j2k +0 -0
  90. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/p1_07.j2k +0 -0
  91. {glymur-0.14.4 → glymur-0.14.6}/tests/data/conformance/p1_07.txt +0 -0
  92. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/__init__.py +0 -0
  93. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/edf_c2_1178956.jp2 +0 -0
  94. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/issue142.j2k +0 -0
  95. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/issue392.jp2 +0 -0
  96. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/issue396.jp2 +0 -0
  97. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/issue438.jp2 +0 -0
  98. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/issue626.j2k +0 -0
  99. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/jph_siz.txt +0 -0
  100. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/oj-ht-byte.jph +0 -0
  101. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/text_GBR.jp2 +0 -0
  102. {glymur-0.14.4 → glymur-0.14.6}/tests/data/from-openjpeg/text_GBR_rreq.txt +0 -0
  103. {glymur-0.14.4 → glymur-0.14.6}/tests/data/geo/0220000800_uuid.dat +0 -0
  104. {glymur-0.14.4 → glymur-0.14.6}/tests/data/geo/__init__.py +0 -0
  105. {glymur-0.14.4 → glymur-0.14.6}/tests/data/geo/gml.xml +0 -0
  106. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/appended_xml_box.txt +0 -0
  107. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/countries.xml +0 -0
  108. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/decompression_parameters_type.txt +0 -0
  109. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/default_compression_parameters_type.txt +0 -0
  110. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/default_progression_order_changes_type.txt +0 -0
  111. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/encoding_declaration.xml +0 -0
  112. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/goodstuff_codestream_header.txt +0 -0
  113. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/goodstuff_with_full_header.txt +0 -0
  114. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/issue186_progression_order.txt +0 -0
  115. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/issue398.dat +0 -0
  116. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/issue405.dat +0 -0
  117. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/issue549.dat +0 -0
  118. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/issue555.xmp +0 -0
  119. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/issue982.j2k +0 -0
  120. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/multiple_precinct_size.txt +0 -0
  121. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/nemo.txt +0 -0
  122. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/nemo_dump_no_codestream.txt +0 -0
  123. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/nemo_dump_no_codestream_no_xml.txt +0 -0
  124. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/nemo_dump_no_xml.txt +0 -0
  125. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/nemo_dump_short.txt +0 -0
  126. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/nemo_with_codestream_header.txt +0 -0
  127. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/nemo_xmp_box.txt +0 -0
  128. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/no_jp2c.jp2 +0 -0
  129. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/sgray.icc +0 -0
  130. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/simple_rdf.txt +0 -0
  131. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/simple_rdf.uuid-box.txt +0 -0
  132. {glymur-0.14.4 → glymur-0.14.6}/tests/data/misc/uint16.j2k +0 -0
  133. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/__init__.py +0 -0
  134. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/astronaut8.tif +0 -0
  135. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/astronaut8_stripped.tif +0 -0
  136. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/astronaut_s_uint16.tif +0 -0
  137. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/astronaut_uint16.tif +0 -0
  138. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/astronaut_ycbcr_jpeg_tiled.tif +0 -0
  139. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/goodstuff_32s.tif +0 -0
  140. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/moon.tif +0 -0
  141. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/moon3_partial_last_strip.tif +0 -0
  142. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/moon3_stripped.tif +0 -0
  143. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/moon63.tif +0 -0
  144. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/moon_2x2.tif +0 -0
  145. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/moon_3x3.tif +0 -0
  146. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/stripped.tif +0 -0
  147. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/ycbcr_bg.tif +0 -0
  148. {glymur-0.14.4 → glymur-0.14.6}/tests/data/skimage/ycbcr_stripped.tif +0 -0
  149. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/__init__.py +0 -0
  150. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/albers27-8.tif +0 -0
  151. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/albers27.tif +0 -0
  152. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/basn6a08.tif +0 -0
  153. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/cmyk.tif +0 -0
  154. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/degenerate_geotiff.tif +0 -0
  155. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/flower-separated-planar-08.tif +0 -0
  156. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/ieeefp32.tif +0 -0
  157. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/issue572.tif +0 -0
  158. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/issue678.tif +0 -0
  159. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/uint32.tif +0 -0
  160. {glymur-0.14.4 → glymur-0.14.6}/tests/data/tiff/warning.tif +0 -0
  161. {glymur-0.14.4 → glymur-0.14.6}/tests/test_callbacks.py +0 -0
  162. {glymur-0.14.4 → glymur-0.14.6}/tests/test_cinema.py +0 -0
  163. {glymur-0.14.4 → glymur-0.14.6}/tests/test_codestream.py +0 -0
  164. {glymur-0.14.4 → glymur-0.14.6}/tests/test_colour_specification_box.py +0 -0
  165. {glymur-0.14.4 → glymur-0.14.6}/tests/test_commandline_jp2dump.py +0 -0
  166. {glymur-0.14.4 → glymur-0.14.6}/tests/test_commandline_tiff2jp2.py +0 -0
  167. {glymur-0.14.4 → glymur-0.14.6}/tests/test_geo.py +0 -0
  168. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jp2box.py +0 -0
  169. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jp2box_jpx.py +0 -0
  170. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jp2box_uuid.py +0 -0
  171. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jp2box_xml.py +0 -0
  172. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jp2k.py +0 -0
  173. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jp2k_writes.py +0 -0
  174. {glymur-0.14.4 → glymur-0.14.6}/tests/test_jp2kr.py +0 -0
  175. {glymur-0.14.4 → glymur-0.14.6}/tests/test_libtiff.py +0 -0
  176. {glymur-0.14.4 → glymur-0.14.6}/tests/test_openjp2.py +0 -0
  177. {glymur-0.14.4 → glymur-0.14.6}/tests/test_printing.py +0 -0
  178. {glymur-0.14.4 → glymur-0.14.6}/tests/test_set_decoded_components.py +0 -0
  179. {glymur-0.14.4 → glymur-0.14.6}/tests/test_slicing.py +0 -0
  180. {glymur-0.14.4 → glymur-0.14.6}/tests/test_threading.py +0 -0
  181. {glymur-0.14.4 → glymur-0.14.6}/tests/test_tiff2jp2.py +0 -0
  182. {glymur-0.14.4 → glymur-0.14.6}/tests/test_warnings.py +0 -0
@@ -6,12 +6,12 @@ workflows:
6
6
  version: 2
7
7
  test:
8
8
  jobs:
9
- - travis-311-no-gdal
10
- - travis-311-no-opj
11
- - travis-311
12
- - travis-312
13
- - travis-313
14
- - travis-314
9
+ - ci-311
10
+ - ci-312
11
+ - ci-313
12
+ - ci-314-no-gdal
13
+ - ci-314-no-opj
14
+ - ci-314
15
15
 
16
16
  test-template: &test-template
17
17
  docker:
@@ -47,20 +47,20 @@ test-template: &test-template
47
47
  pytest --doctest-modules glymur
48
48
 
49
49
  jobs:
50
- travis-311-no-gdal:
50
+ ci-311:
51
51
  <<: *test-template
52
52
 
53
- travis-311-no-opj:
53
+ ci-312:
54
54
  <<: *test-template
55
55
 
56
- travis-311:
56
+ ci-313:
57
57
  <<: *test-template
58
58
 
59
- travis-312:
59
+ ci-314-no-gdal:
60
60
  <<: *test-template
61
61
 
62
- travis-313:
62
+ ci-314-no-opj:
63
63
  <<: *test-template
64
64
 
65
- travis-314:
65
+ ci-314:
66
66
  <<: *test-template
@@ -1,3 +1,6 @@
1
+ Jan 26, 2025 - v0.14.6
2
+ Fix numpy 2.5 deprecation issue
3
+
1
4
  Oct 08, 2025 - v0.14.4
2
5
  Qualify on python 3.14
3
6
  Add User-Agent header to powershell script for Appveyor
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Glymur
3
- Version: 0.14.4
3
+ Version: 0.14.6
4
4
  Summary: Read and write JPEG 2000 files
5
5
  Author-email: John Evans <jevans667cc@proton.me>
6
6
  License-Expression: MIT
@@ -6,7 +6,6 @@ LICENSE.txt
6
6
  MANIFEST.in
7
7
  README.md
8
8
  appveyor.yml
9
- azure-pipelines.yml
10
9
  conftest.py
11
10
  pyproject.toml
12
11
  .circleci/config.yml
@@ -16,17 +15,17 @@ Glymur.egg-info/dependency_links.txt
16
15
  Glymur.egg-info/entry_points.txt
17
16
  Glymur.egg-info/requires.txt
18
17
  Glymur.egg-info/top_level.txt
18
+ ci/ci-311.yaml
19
+ ci/ci-312.yaml
20
+ ci/ci-313.yaml
21
+ ci/ci-314-no-gdal.yaml
22
+ ci/ci-314-no-opj.yaml
23
+ ci/ci-314.yaml
19
24
  ci/doc.yml
20
25
  ci/install.ps1
21
26
  ci/run_script.sh
22
27
  ci/run_with_env.cmd
23
28
  ci/setup_env.sh
24
- ci/travis-311-no-gdal.yaml
25
- ci/travis-311-no-opj.yaml
26
- ci/travis-311.yaml
27
- ci/travis-312.yaml
28
- ci/travis-313.yaml
29
- ci/travis-314.yaml
30
29
  docs/Makefile
31
30
  docs/make.bat
32
31
  docs/requirements.txt
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Glymur
3
- Version: 0.14.4
3
+ Version: 0.14.6
4
4
  Summary: Read and write JPEG 2000 files
5
5
  Author-email: John Evans <jevans667cc@proton.me>
6
6
  License-Expression: MIT
@@ -71,7 +71,7 @@ install:
71
71
  - cmd: conda info -a
72
72
 
73
73
  # create our env
74
- - SET REQ=ci\travis-%CONDA_PY%.yaml
74
+ - SET REQ=ci\ci-%CONDA_PY%.yaml
75
75
  - cmd: echo "installing requirements from %REQ%"
76
76
  - cmd: conda env create --file=%REQ%
77
77
  - cmd: conda list -n glymur
@@ -4,6 +4,7 @@ channels:
4
4
  dependencies:
5
5
  - python=3.13.*
6
6
  - gdal>=3.10.0,<3.11.0
7
+ - libgdal-jp2openjpeg
7
8
  - pillow
8
9
  - libtiff>=4.7.0,<4.8.0
9
10
  - lxml>=5.3.0,<6.0.0
@@ -3,11 +3,11 @@ channels:
3
3
  - conda-forge
4
4
  dependencies:
5
5
  - python>=3.14.0
6
- - gdal>=3.11.0
7
6
  - pillow
8
7
  - libtiff>=4.7.1
9
8
  - lxml>=6.0.2
10
9
  - numpy>=2.3.3
11
10
  - openjpeg>=2.5.4
11
+ - pip
12
12
  - pytest-xdist
13
13
  - scikit-image
@@ -2,12 +2,12 @@ name: glymur
2
2
  channels:
3
3
  - conda-forge
4
4
  dependencies:
5
- - python=3.11.*
6
- - gdal>=3.8.0,<3.9.0
5
+ - python>=3.14.0
6
+ - gdal>=3.11.0
7
7
  - pillow
8
- - libtiff>=4.6.0,<4.7.0
9
- - lxml>=5.0
10
- - numpy>=2.0,<2.1
8
+ - libtiff>=4.7.1
9
+ - lxml>=6.0.2
10
+ - numpy>=2.3.3
11
11
  - pip
12
12
  - pytest-xdist
13
13
  - scikit-image
@@ -0,0 +1,14 @@
1
+ name: glymur
2
+ channels:
3
+ - conda-forge
4
+ dependencies:
5
+ - python>=3.14.0
6
+ - gdal>=3.11.0
7
+ - libgdal-jp2openjpeg
8
+ - pillow
9
+ - libtiff>=4.7.1
10
+ - lxml>=6.0.2
11
+ - numpy>=2.3.3
12
+ - openjpeg>=2.5.4
13
+ - pytest-xdist
14
+ - scikit-image
@@ -72,7 +72,7 @@ master_doc = 'index'
72
72
 
73
73
  # General information about the project.
74
74
  project = 'glymur'
75
- copyright = '2013-2025, John Evans'
75
+ copyright = '2013-2026, John Evans'
76
76
 
77
77
  # The version info for the project you're documenting, acts as replacement for
78
78
  # |version| and |release|, also used in various other places throughout the
@@ -81,7 +81,7 @@ copyright = '2013-2025, John Evans'
81
81
  # The short X.Y version.
82
82
  version = '0.14'
83
83
  # The full version, including alpha/beta/rc tags.
84
- release = '0.14.4'
84
+ release = '0.14.6'
85
85
 
86
86
  # The language for content autogenerated by Sphinx. Refer to documentation
87
87
  # for a list of supported languages.
@@ -2,6 +2,26 @@
2
2
  Changes in glymur 0.14
3
3
  ######################
4
4
 
5
+ *****************
6
+ Changes in 0.14.6
7
+ *****************
8
+
9
+ * Fix numpy 2.5 deprecation warning
10
+
11
+ *****************
12
+ Changes in 0.14.5
13
+ *****************
14
+
15
+ * Suppress W291 warning from doctests
16
+ * Remove two debugging breakpoints
17
+ * Update CI infrastructure for names
18
+ * Update testing, deprecate python 3.11
19
+ * Use importlib.resources instead of importlib.metadata
20
+ * Remove custom chdir context manager
21
+ * Use sys.version() to determine if anaconda or not on tests
22
+ * Add libgdal-jp2openjpeg to CI
23
+ * Remove broken azure pipelines setup
24
+
5
25
  *****************
6
26
  Changes in 0.14.4
7
27
  *****************
@@ -276,11 +276,7 @@ class _2JP2Converter(object):
276
276
 
277
277
  b.seek(tag_offset)
278
278
 
279
- try:
280
- dtype = tags[tag]["dtype"]
281
- except IndexError:
282
- breakpoint()
283
- pass
279
+ dtype = tags[tag]["dtype"]
284
280
 
285
281
  nvalues = tags[tag]["nvalues"]
286
282
  payload = tags[tag]["payload"]
@@ -741,6 +741,7 @@ class Jp2k(Jp2kr):
741
741
 
742
742
  Examples
743
743
  --------
744
+ # noqa : W291
744
745
  >>> import io, shutil, lxml.etree as ET
745
746
  >>> _ = shutil.copyfile(glymur.data.nemo(), 'new-nemo.jp2')
746
747
  >>> j = glymur.Jp2k('new-nemo.jp2')
@@ -395,7 +395,6 @@ class Jp2kr(Jp2kBox):
395
395
  """
396
396
  .. deprecated:: 0.15.0
397
397
  """
398
- breakpoint()
399
398
  msg = "Deprecated, do not use."
400
399
  warnings.warn(msg, DeprecationWarning)
401
400
  self._parse(force=force)
@@ -948,7 +947,7 @@ class Jp2kr(Jp2kBox):
948
947
  if is_cube and image.shape[2] == 1:
949
948
  # The third dimension has just a single layer. Make the image
950
949
  # data 2D instead of 3D.
951
- image.shape = image.shape[0:2]
950
+ image = np.reshape(image, image.shape[0:2])
952
951
 
953
952
  return image
954
953
 
@@ -20,7 +20,7 @@ from .lib import _tiff as tiff
20
20
 
21
21
  # Do not change the format of this next line! Doing so risks breaking
22
22
  # setup.py
23
- version = "0.14.4"
23
+ version = "0.14.6"
24
24
 
25
25
  version_tuple = parse(version).release
26
26
 
@@ -22,7 +22,7 @@ license = 'MIT'
22
22
  name = 'Glymur'
23
23
  readme = 'README.md'
24
24
  requires-python = '>=3.11'
25
- version = '0.14.4'
25
+ version = '0.14.6'
26
26
 
27
27
  [project.scripts]
28
28
  jp2dump = 'glymur.command_line:main'
@@ -3,21 +3,18 @@ Test fixtures common to more than one test point.
3
3
  """
4
4
 
5
5
  # Standard library imports
6
- import importlib.metadata as im
6
+ import importlib.resources as ir
7
7
  import pathlib
8
- import platform
9
8
  import shutil
10
9
  import sys
11
10
  import tempfile
12
11
  import unittest
13
12
 
14
13
  # are we anaconda?
15
- try:
16
- import conda # noqa : F401
17
- except ImportError:
18
- ANACONDA = False
19
- else:
14
+ if 'conda' in sys.version.lower():
20
15
  ANACONDA = True
16
+ else:
17
+ ANACONDA = False
21
18
 
22
19
  # are we macports?
23
20
  if sys.executable.startswith('/opt/local/Library/Frameworks/Python.framework'):
@@ -25,20 +22,6 @@ if sys.executable.startswith('/opt/local/Library/Frameworks/Python.framework'):
25
22
  else:
26
23
  MACPORTS = False
27
24
 
28
- # are we a linux platform that can use importlib.metadata
29
- if (
30
- platform.system() == 'linux'
31
- and platform.freedesktop_os_release()['id'] == 'opensuse-tumbleweed'
32
- ):
33
- LINUX_WITH_GOOD_IMPORTLIBMETADATA = True
34
- else:
35
- LINUX_WITH_GOOD_IMPORTLIBMETADATA = False
36
-
37
- if ANACONDA or MACPORTS or LINUX_WITH_GOOD_IMPORTLIBMETADATA:
38
- CANNOT_USE_IMPORTLIB_METADATA = False
39
- else:
40
- CANNOT_USE_IMPORTLIB_METADATA = True
41
-
42
25
  # 3rd party library imports
43
26
  try:
44
27
  from osgeo import gdal # noqa : F401
@@ -107,22 +90,9 @@ class TestJPEGCommon(TestCommon):
107
90
  Use some files supplied by scikit-image for our tests.
108
91
  """
109
92
 
110
- files = im.files('scikit-image')
111
-
112
- jpeg = next(filter(lambda x: 'retina' in x.name, files), None)
113
- cls.retina = jpeg.locate()
114
-
115
- jpeg = next(
116
- filter(lambda x: 'hubble_deep_field' in x.name, files),
117
- None
118
- )
119
- cls.hubble = jpeg.locate()
120
-
121
- jpeg = next(
122
- filter(lambda x: 'rocket' in x.name, files),
123
- None
124
- )
125
- cls.rocket = jpeg.locate()
93
+ cls.retina = ir.files('skimage') / 'data' / 'retina.jpg'
94
+ cls.hubble = ir.files('skimage') / 'data' / 'hubble_deep_field.jpg'
95
+ cls.rocket = ir.files('skimage') / 'data' / 'rocket.jpg'
126
96
 
127
97
  def setUp(self):
128
98
  super().setUp()
@@ -13,16 +13,11 @@ from glymur import JPEG2JP2, command_line, reset_option
13
13
  from . import fixtures
14
14
  from .fixtures import (
15
15
  OPENJPEG_NOT_AVAILABLE,
16
- OPENJPEG_NOT_AVAILABLE_MSG,
17
- CANNOT_USE_IMPORTLIB_METADATA
16
+ OPENJPEG_NOT_AVAILABLE_MSG
18
17
  )
19
18
 
20
19
 
21
20
  @unittest.skipIf(OPENJPEG_NOT_AVAILABLE, OPENJPEG_NOT_AVAILABLE_MSG)
22
- @unittest.skipIf(
23
- CANNOT_USE_IMPORTLIB_METADATA,
24
- 'missing importlib.metadata.files ?'
25
- )
26
21
  class TestSuite(fixtures.TestJPEGCommon):
27
22
 
28
23
  def test_smoke(self):
@@ -5,7 +5,6 @@ OPENJP2 may be present in some form or other.
5
5
  # Standard library imports ...
6
6
  import contextlib
7
7
  import importlib
8
- import os
9
8
  import pathlib
10
9
  import platform
11
10
  import unittest
@@ -18,26 +17,6 @@ from glymur import Jp2k
18
17
  from .fixtures import TestCommon, OPENJPEG_NOT_AVAILABLE, OPENJPEG_NOT_AVAILABLE_MSG # noqa : E501
19
18
 
20
19
 
21
- @contextlib.contextmanager
22
- def chdir(dirname=None):
23
- """
24
- This context manager restores the value of the current working directory
25
- (cwd) after the enclosed code block completes or raises an exception. If a
26
- directory name is supplied to the context manager then the cwd is changed
27
- prior to running the code block.
28
-
29
- Shamelessly lifted from
30
- http://www.astropython.org/snippet/2009/10/chdir-context-manager
31
- """
32
- curdir = os.getcwd()
33
- try:
34
- if dirname is not None:
35
- os.chdir(dirname)
36
- yield
37
- finally:
38
- os.chdir(curdir)
39
-
40
-
41
20
  @patch("glymur.config.glymurrc_fname", lambda: None)
42
21
  class TestSuitePathToLibrary(TestCommon):
43
22
  """
@@ -331,7 +310,7 @@ class TestSuiteConfigFile(TestCommon):
331
310
  f.write("[library]\n")
332
311
  f.write(f"openjp2: {expected}\n")
333
312
 
334
- with chdir(self.glymur_configdir):
313
+ with contextlib.chdir(self.glymur_configdir):
335
314
  # Should be able to load openjp2 as before.
336
315
  actual = glymur.config.read_config_file("openjp2")
337
316
 
@@ -17,15 +17,10 @@ from . import fixtures
17
17
  from .fixtures import (
18
18
  OPENJPEG_NOT_AVAILABLE,
19
19
  OPENJPEG_NOT_AVAILABLE_MSG,
20
- CANNOT_USE_IMPORTLIB_METADATA
21
20
  )
22
21
 
23
22
 
24
23
  @unittest.skipIf(OPENJPEG_NOT_AVAILABLE, OPENJPEG_NOT_AVAILABLE_MSG)
25
- @unittest.skipIf(
26
- CANNOT_USE_IMPORTLIB_METADATA,
27
- 'missing importlib.metadata.files ?'
28
- )
29
24
  class TestSuite(fixtures.TestJPEGCommon):
30
25
 
31
26
  def test_smoke(self):
@@ -1,30 +0,0 @@
1
- # Python package
2
- # Create and test a Python package on multiple Python versions.
3
- # Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more:
4
- # https://docs.microsoft.com/azure/devops/pipelines/languages/python
5
-
6
- trigger:
7
- - master
8
-
9
- pool:
10
- vmImage: ubuntu-latest
11
- strategy:
12
- matrix:
13
- Python37:
14
- python.version: '3.7'
15
-
16
- steps:
17
- - task: UsePythonVersion@0
18
- inputs:
19
- versionSpec: '$(python.version)'
20
- displayName: 'Use Python $(python.version)'
21
-
22
- - script: |
23
- python -m pip install --upgrade pip
24
- pip install -r requirements.txt
25
- displayName: 'Install dependencies'
26
-
27
- - script: |
28
- pip install pytest pytest-azurepipelines
29
- pytest
30
- displayName: 'pytest'
@@ -1,13 +0,0 @@
1
- name: glymur
2
- channels:
3
- - conda-forge
4
- dependencies:
5
- - python=3.11.*
6
- - gdal>=3.8.0,<3.9.0
7
- - pillow
8
- - libtiff>=4.6.0,<4.7.0
9
- - lxml>=5.0
10
- - numpy>=2.0,<2.1
11
- - openjpeg>=2.5
12
- - pytest-xdist
13
- - scikit-image
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes