rio-tiler 8.0.4__tar.gz → 9.0.0a1__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 (245) hide show
  1. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/PKG-INFO +1 -1
  2. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/pyproject.toml +5 -7
  3. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/__init__.py +1 -1
  4. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/colormap.py +6 -6
  5. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/experimental/vsifile.py +1 -3
  6. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/experimental/zarr.py +29 -28
  7. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/expression.py +4 -4
  8. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/io/base.py +222 -347
  9. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/io/rasterio.py +89 -81
  10. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/io/stac.py +50 -41
  11. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/io/xarray.py +35 -27
  12. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/models.py +70 -53
  13. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/mosaic/backend.py +2 -2
  14. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/mosaic/methods/base.py +3 -4
  15. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/mosaic/methods/defaults.py +18 -19
  16. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/mosaic/reader.py +20 -19
  17. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/reader.py +44 -44
  18. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/tasks.py +9 -8
  19. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/types.py +20 -21
  20. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/utils.py +33 -42
  21. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/.gitignore +0 -0
  22. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/AUTHORS.txt +0 -0
  23. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/LICENSE +0 -0
  24. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/README.md +0 -0
  25. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/__init__.py +0 -0
  26. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/accent.npy +0 -0
  27. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/accent_r.npy +0 -0
  28. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/afmhot.npy +0 -0
  29. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/afmhot_r.npy +0 -0
  30. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/algae.npy +0 -0
  31. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/algae_r.npy +0 -0
  32. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/amp.npy +0 -0
  33. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/amp_r.npy +0 -0
  34. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/autumn.npy +0 -0
  35. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/autumn_r.npy +0 -0
  36. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/balance.npy +0 -0
  37. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/balance_r.npy +0 -0
  38. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/binary.npy +0 -0
  39. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/binary_r.npy +0 -0
  40. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/blues.npy +0 -0
  41. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/blues_r.npy +0 -0
  42. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bone.npy +0 -0
  43. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bone_r.npy +0 -0
  44. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/brbg.npy +0 -0
  45. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/brbg_r.npy +0 -0
  46. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/brg.npy +0 -0
  47. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/brg_r.npy +0 -0
  48. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bugn.npy +0 -0
  49. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bugn_r.npy +0 -0
  50. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bupu.npy +0 -0
  51. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bupu_r.npy +0 -0
  52. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bwr.npy +0 -0
  53. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/bwr_r.npy +0 -0
  54. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cfastie.npy +0 -0
  55. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cividis.npy +0 -0
  56. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cividis_r.npy +0 -0
  57. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cmrmap.npy +0 -0
  58. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cmrmap_r.npy +0 -0
  59. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cool.npy +0 -0
  60. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cool_r.npy +0 -0
  61. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/coolwarm.npy +0 -0
  62. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/coolwarm_r.npy +0 -0
  63. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/copper.npy +0 -0
  64. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/copper_r.npy +0 -0
  65. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cubehelix.npy +0 -0
  66. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/cubehelix_r.npy +0 -0
  67. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/curl.npy +0 -0
  68. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/curl_r.npy +0 -0
  69. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/dark2.npy +0 -0
  70. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/dark2_r.npy +0 -0
  71. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/deep.npy +0 -0
  72. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/deep_r.npy +0 -0
  73. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/delta.npy +0 -0
  74. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/delta_r.npy +0 -0
  75. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/dense.npy +0 -0
  76. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/dense_r.npy +0 -0
  77. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/diff.npy +0 -0
  78. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/diff_r.npy +0 -0
  79. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/flag.npy +0 -0
  80. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/flag_r.npy +0 -0
  81. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_earth.npy +0 -0
  82. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_earth_r.npy +0 -0
  83. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_gray.npy +0 -0
  84. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_gray_r.npy +0 -0
  85. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_heat.npy +0 -0
  86. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_heat_r.npy +0 -0
  87. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_ncar.npy +0 -0
  88. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_ncar_r.npy +0 -0
  89. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_rainbow.npy +0 -0
  90. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_rainbow_r.npy +0 -0
  91. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_stern.npy +0 -0
  92. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_stern_r.npy +0 -0
  93. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_yarg.npy +0 -0
  94. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gist_yarg_r.npy +0 -0
  95. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gnbu.npy +0 -0
  96. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gnbu_r.npy +0 -0
  97. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gnuplot.npy +0 -0
  98. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gnuplot2.npy +0 -0
  99. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gnuplot2_r.npy +0 -0
  100. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gnuplot_r.npy +0 -0
  101. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gray.npy +0 -0
  102. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/gray_r.npy +0 -0
  103. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/greens.npy +0 -0
  104. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/greens_r.npy +0 -0
  105. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/greys.npy +0 -0
  106. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/greys_r.npy +0 -0
  107. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/haline.npy +0 -0
  108. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/haline_r.npy +0 -0
  109. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/hot.npy +0 -0
  110. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/hot_r.npy +0 -0
  111. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/hsv.npy +0 -0
  112. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/hsv_r.npy +0 -0
  113. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ice.npy +0 -0
  114. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ice_r.npy +0 -0
  115. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/inferno.npy +0 -0
  116. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/inferno_r.npy +0 -0
  117. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/jet.npy +0 -0
  118. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/jet_r.npy +0 -0
  119. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/magma.npy +0 -0
  120. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/magma_r.npy +0 -0
  121. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/matter.npy +0 -0
  122. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/matter_r.npy +0 -0
  123. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/nipy_spectral.npy +0 -0
  124. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/nipy_spectral_r.npy +0 -0
  125. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ocean.npy +0 -0
  126. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ocean_r.npy +0 -0
  127. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/oranges.npy +0 -0
  128. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/oranges_r.npy +0 -0
  129. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/orrd.npy +0 -0
  130. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/orrd_r.npy +0 -0
  131. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/oxy.npy +0 -0
  132. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/oxy_r.npy +0 -0
  133. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/paired.npy +0 -0
  134. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/paired_r.npy +0 -0
  135. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pastel1.npy +0 -0
  136. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pastel1_r.npy +0 -0
  137. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pastel2.npy +0 -0
  138. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pastel2_r.npy +0 -0
  139. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/phase.npy +0 -0
  140. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/phase_r.npy +0 -0
  141. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pink.npy +0 -0
  142. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pink_r.npy +0 -0
  143. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/piyg.npy +0 -0
  144. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/piyg_r.npy +0 -0
  145. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/plasma.npy +0 -0
  146. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/plasma_r.npy +0 -0
  147. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/prgn.npy +0 -0
  148. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/prgn_r.npy +0 -0
  149. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/prism.npy +0 -0
  150. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/prism_r.npy +0 -0
  151. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pubu.npy +0 -0
  152. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pubu_r.npy +0 -0
  153. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pubugn.npy +0 -0
  154. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/pubugn_r.npy +0 -0
  155. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/puor.npy +0 -0
  156. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/puor_r.npy +0 -0
  157. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/purd.npy +0 -0
  158. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/purd_r.npy +0 -0
  159. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/purples.npy +0 -0
  160. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/purples_r.npy +0 -0
  161. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rain.npy +0 -0
  162. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rain_r.npy +0 -0
  163. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rainbow.npy +0 -0
  164. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rainbow_r.npy +0 -0
  165. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdbu.npy +0 -0
  166. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdbu_r.npy +0 -0
  167. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdgy.npy +0 -0
  168. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdgy_r.npy +0 -0
  169. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdpu.npy +0 -0
  170. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdpu_r.npy +0 -0
  171. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdylbu.npy +0 -0
  172. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdylbu_r.npy +0 -0
  173. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdylgn.npy +0 -0
  174. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rdylgn_r.npy +0 -0
  175. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/reds.npy +0 -0
  176. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/reds_r.npy +0 -0
  177. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/rplumbo.npy +0 -0
  178. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/schwarzwald.npy +0 -0
  179. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/seismic.npy +0 -0
  180. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/seismic_r.npy +0 -0
  181. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/set1.npy +0 -0
  182. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/set1_r.npy +0 -0
  183. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/set2.npy +0 -0
  184. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/set2_r.npy +0 -0
  185. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/set3.npy +0 -0
  186. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/set3_r.npy +0 -0
  187. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/solar.npy +0 -0
  188. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/solar_r.npy +0 -0
  189. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/spectral.npy +0 -0
  190. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/spectral_r.npy +0 -0
  191. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/speed.npy +0 -0
  192. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/speed_r.npy +0 -0
  193. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/spring.npy +0 -0
  194. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/spring_r.npy +0 -0
  195. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/summer.npy +0 -0
  196. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/summer_r.npy +0 -0
  197. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab10.npy +0 -0
  198. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab10_r.npy +0 -0
  199. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab20.npy +0 -0
  200. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab20_r.npy +0 -0
  201. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab20b.npy +0 -0
  202. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab20b_r.npy +0 -0
  203. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab20c.npy +0 -0
  204. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tab20c_r.npy +0 -0
  205. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tarn.npy +0 -0
  206. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tarn_r.npy +0 -0
  207. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tempo.npy +0 -0
  208. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/tempo_r.npy +0 -0
  209. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/terrain.npy +0 -0
  210. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/terrain_r.npy +0 -0
  211. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/thermal.npy +0 -0
  212. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/thermal_r.npy +0 -0
  213. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/topo.npy +0 -0
  214. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/topo_r.npy +0 -0
  215. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/turbid.npy +0 -0
  216. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/turbid_r.npy +0 -0
  217. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/turbo.npy +0 -0
  218. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/turbo_r.npy +0 -0
  219. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/twilight.npy +0 -0
  220. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/twilight_r.npy +0 -0
  221. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/twilight_shifted.npy +0 -0
  222. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/twilight_shifted_r.npy +0 -0
  223. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/viridis.npy +0 -0
  224. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/viridis_r.npy +0 -0
  225. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/winter.npy +0 -0
  226. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/winter_r.npy +0 -0
  227. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/wistia.npy +0 -0
  228. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/wistia_r.npy +0 -0
  229. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylgn.npy +0 -0
  230. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylgn_r.npy +0 -0
  231. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylgnbu.npy +0 -0
  232. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylgnbu_r.npy +0 -0
  233. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylorbr.npy +0 -0
  234. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylorbr_r.npy +0 -0
  235. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylorrd.npy +0 -0
  236. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/cmap_data/ylorrd_r.npy +0 -0
  237. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/constants.py +0 -0
  238. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/errors.py +0 -0
  239. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/experimental/__init__.py +0 -0
  240. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/io/__init__.py +0 -0
  241. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/logger.py +0 -0
  242. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/mosaic/__init__.py +0 -0
  243. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/mosaic/methods/__init__.py +0 -0
  244. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/profiles.py +0 -0
  245. {rio_tiler-8.0.4 → rio_tiler-9.0.0a1}/rio_tiler/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rio-tiler
3
- Version: 8.0.4
3
+ Version: 9.0.0a1
4
4
  Summary: User friendly Rasterio plugin to read raster datasets.
5
5
  Project-URL: Homepage, https://cogeotiff.github.io/rio-tiler/
6
6
  Project-URL: Documentation, https://cogeotiff.github.io/rio-tiler/
@@ -42,6 +42,7 @@ dev = [
42
42
  "xarray",
43
43
  "rioxarray",
44
44
  "h5netcdf",
45
+ "h5py",
45
46
  # S3
46
47
  "boto3",
47
48
  # Some tests will fail with 5.0
@@ -52,7 +53,9 @@ dev = [
52
53
  "obstore",
53
54
  "tilebench",
54
55
  "pre-commit",
55
- "bump-my-version",
56
+ "IPython",
57
+ "jupyter",
58
+ "matplotlib",
56
59
  ]
57
60
 
58
61
  performance = [
@@ -71,11 +74,6 @@ docs = [
71
74
  deploy = [
72
75
  "hatch",
73
76
  ]
74
- notebook = [
75
- "IPython",
76
- "jupyter",
77
- "matplotlib",
78
- ]
79
77
 
80
78
  [project.optional-dependencies]
81
79
  s3 = [
@@ -161,7 +159,7 @@ exclude = [
161
159
  max-complexity = 14
162
160
 
163
161
  [tool.bumpversion]
164
- current_version = "8.0.4"
162
+ current_version = "9.0.0a1"
165
163
  parse = """(?x)
166
164
  (?P<major>\\d+)\\.
167
165
  (?P<minor>\\d+)\\.
@@ -1,6 +1,6 @@
1
1
  """rio-tiler."""
2
2
 
3
- __version__ = "8.0.4"
3
+ __version__ = "9.0.0a1"
4
4
 
5
5
  from . import ( # noqa
6
6
  colormap,
@@ -6,9 +6,9 @@ import os
6
6
  import pathlib
7
7
  import re
8
8
  import warnings
9
+ from collections.abc import Sequence
9
10
  from importlib.resources import as_file
10
11
  from importlib.resources import files as resources_files
11
- from typing import Dict, List, Sequence, Tuple, Union
12
12
 
13
13
  import attr
14
14
  import numpy
@@ -137,7 +137,7 @@ def apply_cmap(data: numpy.ndarray, colormap: ColorMapType) -> DataMaskType:
137
137
 
138
138
 
139
139
  def apply_discrete_cmap(
140
- data: numpy.ndarray, colormap: Union[GDALColorMapType, DiscreteColorMapType]
140
+ data: numpy.ndarray, colormap: GDALColorMapType | DiscreteColorMapType
141
141
  ) -> DataMaskType:
142
142
  """Apply discrete colormap.
143
143
 
@@ -217,7 +217,7 @@ def apply_intervals_cmap(
217
217
  return data[:-1], data[-1]
218
218
 
219
219
 
220
- def parse_color(rgba: Union[Sequence[int], str]) -> Tuple[int, int, int, int]:
220
+ def parse_color(rgba: Sequence[int] | str | None) -> tuple[int, int, int, int]:
221
221
  """Parse RGB/RGBA color and return valid rio-tiler compatible RGBA colormap entry.
222
222
 
223
223
  Args:
@@ -290,7 +290,7 @@ class ColorMaps:
290
290
 
291
291
  """
292
292
 
293
- data: Dict[str, Union[str, pathlib.Path, ColorMapType]] = attr.ib(
293
+ data: dict[str, str | pathlib.Path | ColorMapType | None] = attr.ib(
294
294
  default=attr.Factory(lambda: DEFAULT_CMAPS_FILES)
295
295
  )
296
296
 
@@ -344,7 +344,7 @@ class ColorMaps:
344
344
 
345
345
  return cmap
346
346
 
347
- def list(self) -> List[str]:
347
+ def list(self) -> list[str]:
348
348
  """List registered Colormaps.
349
349
 
350
350
  Returns
@@ -355,7 +355,7 @@ class ColorMaps:
355
355
 
356
356
  def register(
357
357
  self,
358
- custom_cmap: Dict[str, Union[str, pathlib.Path, ColorMapType]],
358
+ custom_cmap: dict[str, str | pathlib.Path | ColorMapType | None],
359
359
  overwrite: bool = False,
360
360
  ) -> "ColorMaps":
361
361
  """Register a custom colormap.
@@ -1,7 +1,5 @@
1
1
  """rio_tiler.io.Reader with VSIFILE/Obstore Opener."""
2
2
 
3
- from typing import Union
4
-
5
3
  import attr
6
4
  import rasterio
7
5
  from rasterio.io import DatasetReader, DatasetWriter, MemoryFile
@@ -21,7 +19,7 @@ except ImportError: # pragma: nocover
21
19
  class VSIReader(Reader):
22
20
  """Rasterio Reader with VSIFILE opener."""
23
21
 
24
- dataset: Union[DatasetReader, DatasetWriter, MemoryFile, WarpedVRT] = attr.ib(
22
+ dataset: DatasetReader | DatasetWriter | MemoryFile | WarpedVRT | None = attr.ib(
25
23
  default=None, init=False
26
24
  )
27
25
 
@@ -3,9 +3,10 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import contextlib
6
+ from collections.abc import Callable
6
7
  from functools import cache
7
8
  from pathlib import Path
8
- from typing import Any, Callable, Dict, List, Literal, Optional, Union
9
+ from typing import Any, Literal
9
10
  from urllib.parse import urlparse
10
11
 
11
12
  import attr
@@ -88,13 +89,13 @@ class ZarrReader(BaseReader):
88
89
 
89
90
  """
90
91
 
91
- input: str = attr.ib()
92
- dataset: xarray.Dataset = attr.ib(default=None)
92
+ input: str | None = attr.ib()
93
+ dataset: xarray.Dataset | None = attr.ib(default=None)
93
94
 
94
95
  tms: TileMatrixSet = attr.ib(default=WEB_MERCATOR_TMS)
95
96
 
96
97
  opener: Callable[..., xarray.Dataset] = attr.ib(default=open_dataset)
97
- opener_options: Dict = attr.ib(factory=dict)
98
+ opener_options: dict = attr.ib(factory=dict)
98
99
  _ctx_stack: contextlib.ExitStack = attr.ib(init=False, factory=contextlib.ExitStack)
99
100
 
100
101
  def __attrs_post_init__(self):
@@ -142,7 +143,7 @@ class ZarrReader(BaseReader):
142
143
  self.close()
143
144
 
144
145
  @property
145
- def variables(self) -> List[str]:
146
+ def variables(self) -> list[str]:
146
147
  """Return dataset variable names"""
147
148
  return list(self.dataset.data_vars) # type: ignore
148
149
 
@@ -191,16 +192,16 @@ class ZarrReader(BaseReader):
191
192
  def _get_variable(
192
193
  self,
193
194
  variable: str,
194
- sel: Optional[List[str]] = None,
195
- method: Optional[sel_methods] = None,
195
+ sel: list[str] | None = None,
196
+ method: sel_methods | None = None,
196
197
  ) -> xarray.DataArray:
197
198
  """Get DataArray from xarray Dataset."""
198
199
  da = self.dataset[variable]
199
200
 
200
201
  if sel:
201
- _idx: Dict[str, List] = {}
202
+ _idx: dict[str, list] = {}
202
203
  for s in sel:
203
- val: Union[str, slice]
204
+ val: str | slice
204
205
  dim, val = s.split("=")
205
206
 
206
207
  # cast string to dtype of the dimension
@@ -239,8 +240,8 @@ class ZarrReader(BaseReader):
239
240
  self,
240
241
  *,
241
242
  variable: str,
242
- sel: Optional[List[str]] = None,
243
- method: Optional[sel_methods] = None,
243
+ sel: list[str] | None = None,
244
+ method: sel_methods | None = None,
244
245
  ):
245
246
  """Return xarray.DataArray info."""
246
247
  with XarrayReader(
@@ -258,8 +259,8 @@ class ZarrReader(BaseReader):
258
259
  crs: CRS,
259
260
  *,
260
261
  variable: str,
261
- sel: Optional[List[str]] = None,
262
- method: Optional[sel_methods] = None,
262
+ sel: list[str] | None = None,
263
+ method: sel_methods | None = None,
263
264
  ) -> BBox:
264
265
  """Return Geographic Bounds for a Geographic CRS."""
265
266
  with XarrayReader(
@@ -271,8 +272,8 @@ class ZarrReader(BaseReader):
271
272
  self,
272
273
  *,
273
274
  variable: str,
274
- sel: Optional[List[str]] = None,
275
- method: Optional[sel_methods] = None,
275
+ sel: list[str] | None = None,
276
+ method: sel_methods | None = None,
276
277
  ) -> Info:
277
278
  """Return xarray.DataArray info."""
278
279
  with XarrayReader(
@@ -284,10 +285,10 @@ class ZarrReader(BaseReader):
284
285
  self,
285
286
  *args: Any,
286
287
  variable: str,
287
- sel: Optional[List[str]] = None,
288
- method: Optional[sel_methods] = None,
288
+ sel: list[str] | None = None,
289
+ method: sel_methods | None = None,
289
290
  **kwargs: Any,
290
- ) -> Dict[str, BandStatistics]:
291
+ ) -> dict[str, BandStatistics]:
291
292
  """Return statistics from a dataset."""
292
293
  with XarrayReader(
293
294
  self._get_variable(variable, sel=sel, method=method),
@@ -298,8 +299,8 @@ class ZarrReader(BaseReader):
298
299
  self,
299
300
  *args: Any,
300
301
  variable: str,
301
- sel: Optional[List[str]] = None,
302
- method: Optional[sel_methods] = None,
302
+ sel: list[str] | None = None,
303
+ method: sel_methods | None = None,
303
304
  **kwargs: Any,
304
305
  ) -> ImageData:
305
306
  """Read a Web Map tile from a dataset."""
@@ -313,8 +314,8 @@ class ZarrReader(BaseReader):
313
314
  self,
314
315
  *args: Any,
315
316
  variable: str,
316
- sel: Optional[List[str]] = None,
317
- method: Optional[sel_methods] = None,
317
+ sel: list[str] | None = None,
318
+ method: sel_methods | None = None,
318
319
  **kwargs: Any,
319
320
  ) -> ImageData:
320
321
  """Read part of a dataset."""
@@ -327,8 +328,8 @@ class ZarrReader(BaseReader):
327
328
  self,
328
329
  *args: Any,
329
330
  variable: str,
330
- sel: Optional[List[str]] = None,
331
- method: Optional[sel_methods] = None,
331
+ sel: list[str] | None = None,
332
+ method: sel_methods | None = None,
332
333
  **kwargs: Any,
333
334
  ) -> ImageData:
334
335
  """Return a preview of a dataset."""
@@ -341,8 +342,8 @@ class ZarrReader(BaseReader):
341
342
  self,
342
343
  *args: Any,
343
344
  variable: str,
344
- sel: Optional[List[str]] = None,
345
- method: Optional[sel_methods] = None,
345
+ sel: list[str] | None = None,
346
+ method: sel_methods | None = None,
346
347
  **kwargs: Any,
347
348
  ) -> PointData:
348
349
  """Read a pixel value from a dataset."""
@@ -355,8 +356,8 @@ class ZarrReader(BaseReader):
355
356
  self,
356
357
  *args: Any,
357
358
  variable: str,
358
- sel: Optional[List[str]] = None,
359
- method: Optional[sel_methods] = None,
359
+ sel: list[str] | None = None,
360
+ method: sel_methods | None = None,
360
361
  **kwargs: Any,
361
362
  ) -> ImageData:
362
363
  """Read part of a dataset defined by a geojson feature."""
@@ -1,7 +1,7 @@
1
1
  """rio-tiler.expression: Parse and Apply expression."""
2
2
 
3
3
  import re
4
- from typing import List, Sequence, Tuple
4
+ from collections.abc import Sequence
5
5
 
6
6
  import numexpr
7
7
  import numpy
@@ -9,7 +9,7 @@ import numpy
9
9
  from rio_tiler.errors import InvalidExpression
10
10
 
11
11
 
12
- def parse_expression(expression: str, cast: bool = True) -> Tuple:
12
+ def parse_expression(expression: str, cast: bool = True) -> tuple:
13
13
  """Parse rio-tiler band math expression and extract bands.
14
14
 
15
15
  Args:
@@ -37,7 +37,7 @@ def parse_expression(expression: str, cast: bool = True) -> Tuple:
37
37
  return output_bands
38
38
 
39
39
 
40
- def get_expression_blocks(expression: str) -> List[str]:
40
+ def get_expression_blocks(expression: str) -> list[str]:
41
41
  """Split expression in blocks.
42
42
 
43
43
  Args:
@@ -51,7 +51,7 @@ def get_expression_blocks(expression: str) -> List[str]:
51
51
  ['b1/b2', 'b2+b1']
52
52
 
53
53
  """
54
- return [expr for expr in expression.split(";") if expr]
54
+ return [expr.lower() for expr in expression.split(";") if expr]
55
55
 
56
56
 
57
57
  def apply_expression(