rio-tiler 6.8.0__tar.gz → 7.0.1__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 (241) hide show
  1. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/.gitignore +0 -1
  2. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/PKG-INFO +13 -10
  3. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/README.md +4 -4
  4. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/pyproject.toml +10 -6
  5. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/__init__.py +1 -1
  6. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/colormap.py +54 -18
  7. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/io/base.py +330 -131
  8. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/io/rasterio.py +36 -102
  9. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/io/stac.py +35 -19
  10. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/io/xarray.py +14 -115
  11. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/models.py +16 -65
  12. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/reader.py +3 -4
  13. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/types.py +3 -2
  14. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/utils.py +58 -12
  15. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/AUTHORS.txt +0 -0
  16. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/LICENSE +0 -0
  17. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/__init__.py +0 -0
  18. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/accent.npy +0 -0
  19. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/accent_r.npy +0 -0
  20. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/afmhot.npy +0 -0
  21. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/afmhot_r.npy +0 -0
  22. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/algae.npy +0 -0
  23. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/algae_r.npy +0 -0
  24. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/amp.npy +0 -0
  25. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/amp_r.npy +0 -0
  26. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/autumn.npy +0 -0
  27. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/autumn_r.npy +0 -0
  28. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/balance.npy +0 -0
  29. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/balance_r.npy +0 -0
  30. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/binary.npy +0 -0
  31. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/binary_r.npy +0 -0
  32. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/blues.npy +0 -0
  33. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/blues_r.npy +0 -0
  34. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bone.npy +0 -0
  35. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bone_r.npy +0 -0
  36. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/brbg.npy +0 -0
  37. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/brbg_r.npy +0 -0
  38. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/brg.npy +0 -0
  39. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/brg_r.npy +0 -0
  40. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bugn.npy +0 -0
  41. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bugn_r.npy +0 -0
  42. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bupu.npy +0 -0
  43. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bupu_r.npy +0 -0
  44. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bwr.npy +0 -0
  45. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/bwr_r.npy +0 -0
  46. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cfastie.npy +0 -0
  47. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cividis.npy +0 -0
  48. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cividis_r.npy +0 -0
  49. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cmrmap.npy +0 -0
  50. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cmrmap_r.npy +0 -0
  51. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cool.npy +0 -0
  52. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cool_r.npy +0 -0
  53. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/coolwarm.npy +0 -0
  54. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/coolwarm_r.npy +0 -0
  55. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/copper.npy +0 -0
  56. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/copper_r.npy +0 -0
  57. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cubehelix.npy +0 -0
  58. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/cubehelix_r.npy +0 -0
  59. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/curl.npy +0 -0
  60. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/curl_r.npy +0 -0
  61. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/dark2.npy +0 -0
  62. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/dark2_r.npy +0 -0
  63. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/deep.npy +0 -0
  64. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/deep_r.npy +0 -0
  65. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/delta.npy +0 -0
  66. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/delta_r.npy +0 -0
  67. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/dense.npy +0 -0
  68. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/dense_r.npy +0 -0
  69. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/diff.npy +0 -0
  70. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/diff_r.npy +0 -0
  71. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/flag.npy +0 -0
  72. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/flag_r.npy +0 -0
  73. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_earth.npy +0 -0
  74. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_earth_r.npy +0 -0
  75. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_gray.npy +0 -0
  76. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_gray_r.npy +0 -0
  77. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_heat.npy +0 -0
  78. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_heat_r.npy +0 -0
  79. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_ncar.npy +0 -0
  80. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_ncar_r.npy +0 -0
  81. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_rainbow.npy +0 -0
  82. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_rainbow_r.npy +0 -0
  83. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_stern.npy +0 -0
  84. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_stern_r.npy +0 -0
  85. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_yarg.npy +0 -0
  86. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gist_yarg_r.npy +0 -0
  87. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gnbu.npy +0 -0
  88. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gnbu_r.npy +0 -0
  89. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gnuplot.npy +0 -0
  90. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gnuplot2.npy +0 -0
  91. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gnuplot2_r.npy +0 -0
  92. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gnuplot_r.npy +0 -0
  93. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gray.npy +0 -0
  94. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/gray_r.npy +0 -0
  95. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/greens.npy +0 -0
  96. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/greens_r.npy +0 -0
  97. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/greys.npy +0 -0
  98. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/greys_r.npy +0 -0
  99. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/haline.npy +0 -0
  100. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/haline_r.npy +0 -0
  101. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/hot.npy +0 -0
  102. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/hot_r.npy +0 -0
  103. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/hsv.npy +0 -0
  104. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/hsv_r.npy +0 -0
  105. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ice.npy +0 -0
  106. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ice_r.npy +0 -0
  107. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/inferno.npy +0 -0
  108. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/inferno_r.npy +0 -0
  109. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/jet.npy +0 -0
  110. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/jet_r.npy +0 -0
  111. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/magma.npy +0 -0
  112. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/magma_r.npy +0 -0
  113. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/matter.npy +0 -0
  114. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/matter_r.npy +0 -0
  115. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/nipy_spectral.npy +0 -0
  116. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/nipy_spectral_r.npy +0 -0
  117. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ocean.npy +0 -0
  118. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ocean_r.npy +0 -0
  119. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/oranges.npy +0 -0
  120. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/oranges_r.npy +0 -0
  121. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/orrd.npy +0 -0
  122. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/orrd_r.npy +0 -0
  123. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/oxy.npy +0 -0
  124. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/oxy_r.npy +0 -0
  125. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/paired.npy +0 -0
  126. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/paired_r.npy +0 -0
  127. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pastel1.npy +0 -0
  128. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pastel1_r.npy +0 -0
  129. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pastel2.npy +0 -0
  130. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pastel2_r.npy +0 -0
  131. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/phase.npy +0 -0
  132. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/phase_r.npy +0 -0
  133. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pink.npy +0 -0
  134. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pink_r.npy +0 -0
  135. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/piyg.npy +0 -0
  136. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/piyg_r.npy +0 -0
  137. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/plasma.npy +0 -0
  138. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/plasma_r.npy +0 -0
  139. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/prgn.npy +0 -0
  140. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/prgn_r.npy +0 -0
  141. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/prism.npy +0 -0
  142. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/prism_r.npy +0 -0
  143. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pubu.npy +0 -0
  144. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pubu_r.npy +0 -0
  145. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pubugn.npy +0 -0
  146. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/pubugn_r.npy +0 -0
  147. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/puor.npy +0 -0
  148. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/puor_r.npy +0 -0
  149. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/purd.npy +0 -0
  150. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/purd_r.npy +0 -0
  151. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/purples.npy +0 -0
  152. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/purples_r.npy +0 -0
  153. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rain.npy +0 -0
  154. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rain_r.npy +0 -0
  155. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rainbow.npy +0 -0
  156. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rainbow_r.npy +0 -0
  157. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdbu.npy +0 -0
  158. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdbu_r.npy +0 -0
  159. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdgy.npy +0 -0
  160. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdgy_r.npy +0 -0
  161. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdpu.npy +0 -0
  162. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdpu_r.npy +0 -0
  163. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdylbu.npy +0 -0
  164. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdylbu_r.npy +0 -0
  165. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdylgn.npy +0 -0
  166. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rdylgn_r.npy +0 -0
  167. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/reds.npy +0 -0
  168. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/reds_r.npy +0 -0
  169. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/rplumbo.npy +0 -0
  170. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/schwarzwald.npy +0 -0
  171. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/seismic.npy +0 -0
  172. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/seismic_r.npy +0 -0
  173. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/set1.npy +0 -0
  174. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/set1_r.npy +0 -0
  175. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/set2.npy +0 -0
  176. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/set2_r.npy +0 -0
  177. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/set3.npy +0 -0
  178. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/set3_r.npy +0 -0
  179. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/solar.npy +0 -0
  180. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/solar_r.npy +0 -0
  181. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/spectral.npy +0 -0
  182. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/spectral_r.npy +0 -0
  183. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/speed.npy +0 -0
  184. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/speed_r.npy +0 -0
  185. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/spring.npy +0 -0
  186. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/spring_r.npy +0 -0
  187. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/summer.npy +0 -0
  188. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/summer_r.npy +0 -0
  189. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab10.npy +0 -0
  190. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab10_r.npy +0 -0
  191. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab20.npy +0 -0
  192. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab20_r.npy +0 -0
  193. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab20b.npy +0 -0
  194. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab20b_r.npy +0 -0
  195. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab20c.npy +0 -0
  196. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tab20c_r.npy +0 -0
  197. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tarn.npy +0 -0
  198. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tarn_r.npy +0 -0
  199. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tempo.npy +0 -0
  200. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/tempo_r.npy +0 -0
  201. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/terrain.npy +0 -0
  202. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/terrain_r.npy +0 -0
  203. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/thermal.npy +0 -0
  204. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/thermal_r.npy +0 -0
  205. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/topo.npy +0 -0
  206. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/topo_r.npy +0 -0
  207. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/turbid.npy +0 -0
  208. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/turbid_r.npy +0 -0
  209. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/turbo.npy +0 -0
  210. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/turbo_r.npy +0 -0
  211. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/twilight.npy +0 -0
  212. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/twilight_r.npy +0 -0
  213. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/twilight_shifted.npy +0 -0
  214. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/twilight_shifted_r.npy +0 -0
  215. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/viridis.npy +0 -0
  216. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/viridis_r.npy +0 -0
  217. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/winter.npy +0 -0
  218. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/winter_r.npy +0 -0
  219. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/wistia.npy +0 -0
  220. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/wistia_r.npy +0 -0
  221. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylgn.npy +0 -0
  222. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylgn_r.npy +0 -0
  223. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylgnbu.npy +0 -0
  224. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylgnbu_r.npy +0 -0
  225. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylorbr.npy +0 -0
  226. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylorbr_r.npy +0 -0
  227. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylorrd.npy +0 -0
  228. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/cmap_data/ylorrd_r.npy +0 -0
  229. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/constants.py +0 -0
  230. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/errors.py +0 -0
  231. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/expression.py +0 -0
  232. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/io/__init__.py +0 -0
  233. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/logger.py +0 -0
  234. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/mosaic/__init__.py +0 -0
  235. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/mosaic/methods/__init__.py +0 -0
  236. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/mosaic/methods/base.py +0 -0
  237. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/mosaic/methods/defaults.py +0 -0
  238. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/mosaic/reader.py +0 -0
  239. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/profiles.py +0 -0
  240. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/py.typed +0 -0
  241. {rio_tiler-6.8.0 → rio_tiler-7.0.1}/rio_tiler/tasks.py +0 -0
@@ -108,5 +108,4 @@ tests/benchmarks/data/*
108
108
  tests/fixtures/mask*
109
109
  .vscode/settings.json
110
110
 
111
- docs/src/api/*
112
111
  dev_notebooks/*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rio-tiler
3
- Version: 6.8.0
3
+ Version: 7.0.1
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/
@@ -55,12 +55,13 @@ Requires-Dist: cachetools
55
55
  Requires-Dist: color-operations
56
56
  Requires-Dist: httpx
57
57
  Requires-Dist: importlib-resources>=1.1.0; python_version < '3.9'
58
- Requires-Dist: morecantile<6.0,>=5.0
58
+ Requires-Dist: morecantile<7.0,>=5.0
59
59
  Requires-Dist: numexpr
60
60
  Requires-Dist: numpy
61
61
  Requires-Dist: pydantic~=2.0
62
62
  Requires-Dist: pystac>=0.5.4
63
63
  Requires-Dist: rasterio>=1.3.0
64
+ Requires-Dist: typing-extensions
64
65
  Provides-Extra: benchmark
65
66
  Requires-Dist: pytest; extra == 'benchmark'
66
67
  Requires-Dist: pytest-benchmark; extra == 'benchmark'
@@ -68,15 +69,17 @@ Provides-Extra: dev
68
69
  Requires-Dist: bump-my-version; extra == 'dev'
69
70
  Requires-Dist: pre-commit; extra == 'dev'
70
71
  Provides-Extra: docs
71
- Requires-Dist: mkdocs; extra == 'docs'
72
- Requires-Dist: mkdocs-jupyter; extra == 'docs'
73
- Requires-Dist: mkdocs-material; extra == 'docs'
74
- Requires-Dist: nbconvert; extra == 'docs'
72
+ Requires-Dist: griffe-inherited-docstrings>=1.0.0; extra == 'docs'
73
+ Requires-Dist: mkdocs-jupyter>=0.24.5; extra == 'docs'
74
+ Requires-Dist: mkdocs-material[imaging]>=9.5; extra == 'docs'
75
+ Requires-Dist: mkdocs>=1.4.3; extra == 'docs'
76
+ Requires-Dist: mkdocstrings[python]>=0.25.1; extra == 'docs'
75
77
  Requires-Dist: pygments; extra == 'docs'
76
78
  Provides-Extra: s3
77
79
  Requires-Dist: boto3; extra == 's3'
78
80
  Provides-Extra: test
79
81
  Requires-Dist: boto3; extra == 'test'
82
+ Requires-Dist: morecantile<7.0,>=6.0; extra == 'test'
80
83
  Requires-Dist: pytest; extra == 'test'
81
84
  Requires-Dist: pytest-cov; extra == 'test'
82
85
  Requires-Dist: rioxarray; extra == 'test'
@@ -260,8 +263,8 @@ At the low level, `rio-tiler` is *just* a wrapper around the [rasterio](https://
260
263
  You can install `rio-tiler` using pip
261
264
 
262
265
  ```bash
263
- $ pip install -U pip
264
- $ pip install -U rio-tiler
266
+ $ python -m pip install -U pip
267
+ $ python -m pip install -U rio-tiler
265
268
  ```
266
269
 
267
270
  or install from source:
@@ -269,8 +272,8 @@ or install from source:
269
272
  ```bash
270
273
  $ git clone https://github.com/cogeotiff/rio-tiler.git
271
274
  $ cd rio-tiler
272
- $ pip install -U pip
273
- $ pip install -e .
275
+ $ python -m pip install -U pip
276
+ $ python -m pip install -e .
274
277
  ```
275
278
 
276
279
  ## Plugins
@@ -169,8 +169,8 @@ At the low level, `rio-tiler` is *just* a wrapper around the [rasterio](https://
169
169
  You can install `rio-tiler` using pip
170
170
 
171
171
  ```bash
172
- $ pip install -U pip
173
- $ pip install -U rio-tiler
172
+ $ python -m pip install -U pip
173
+ $ python -m pip install -U rio-tiler
174
174
  ```
175
175
 
176
176
  or install from source:
@@ -178,8 +178,8 @@ or install from source:
178
178
  ```bash
179
179
  $ git clone https://github.com/cogeotiff/rio-tiler.git
180
180
  $ cd rio-tiler
181
- $ pip install -U pip
182
- $ pip install -e .
181
+ $ python -m pip install -U pip
182
+ $ python -m pip install -e .
183
183
  ```
184
184
 
185
185
  ## Plugins
@@ -26,11 +26,12 @@ dependencies = [
26
26
  "httpx",
27
27
  "numexpr",
28
28
  "numpy",
29
- "morecantile>=5.0,<6.0",
29
+ "morecantile>=5.0,<7.0",
30
30
  "pydantic~=2.0",
31
31
  "pystac>=0.5.4",
32
32
  "rasterio>=1.3.0",
33
33
  "color-operations",
34
+ "typing-extensions",
34
35
  "importlib_resources>=1.1.0; python_version < '3.9'",
35
36
  ]
36
37
 
@@ -44,6 +45,8 @@ test = [
44
45
  "rioxarray",
45
46
  # S3
46
47
  "boto3",
48
+ # Some tests will fail with 5.0
49
+ "morecantile>=6.0,<7.0",
47
50
  ]
48
51
 
49
52
  benchmark = [
@@ -68,10 +71,11 @@ xarray = [
68
71
  "rioxarray",
69
72
  ]
70
73
  docs = [
71
- "nbconvert",
72
- "mkdocs",
73
- "mkdocs-jupyter",
74
- "mkdocs-material",
74
+ "mkdocs>=1.4.3",
75
+ "mkdocs-jupyter>=0.24.5",
76
+ "mkdocs-material[imaging]>=9.5",
77
+ "griffe-inherited-docstrings>=1.0.0",
78
+ "mkdocstrings[python]>=0.25.1",
75
79
  "pygments",
76
80
  ]
77
81
 
@@ -153,7 +157,7 @@ ignore = [
153
157
  max-complexity = 14
154
158
 
155
159
  [tool.bumpversion]
156
- current_version = "6.8.0"
160
+ current_version = "7.0.1"
157
161
  search = "{current_version}"
158
162
  replace = "{new_version}"
159
163
  regex = false
@@ -1,6 +1,6 @@
1
1
  """rio-tiler."""
2
2
 
3
- __version__ = "6.8.0"
3
+ __version__ = "7.0.1"
4
4
 
5
5
  from . import ( # noqa
6
6
  colormap,
@@ -1,5 +1,6 @@
1
1
  """rio-tiler colormap functions and classes."""
2
2
 
3
+ import json
3
4
  import os
4
5
  import pathlib
5
6
  import re
@@ -22,23 +23,30 @@ from rio_tiler.types import (
22
23
  )
23
24
 
24
25
  try:
25
- from importlib.resources import files as resources_files # type: ignore
26
+ from importlib.resources import as_file
27
+ from importlib.resources import files as resources_files
26
28
  except ImportError:
27
29
  # Try backported to PY<39 `importlib_resources`.
30
+ from importlib_resources import as_file # type: ignore
28
31
  from importlib_resources import files as resources_files # type: ignore
29
32
 
30
33
 
31
34
  EMPTY_COLORMAP: GDALColorMapType = {i: (0, 0, 0, 0) for i in range(256)}
32
35
 
33
- DEFAULT_CMAPS_FILES = {
34
- f.stem: str(f)
35
- for f in (resources_files(__package__) / "cmap_data").glob("*.npy") # type: ignore
36
- }
36
+ _RIO_CMAP_DIR = resources_files(__package__) / "cmap_data"
37
+ with as_file(_RIO_CMAP_DIR) as p:
38
+ DEFAULT_CMAPS_FILES = {
39
+ f.stem: f for f in p.glob("**/*") if f.suffix in {".npy", ".json"}
40
+ }
37
41
 
38
42
  USER_CMAPS_DIR = os.environ.get("COLORMAP_DIRECTORY", None)
39
43
  if USER_CMAPS_DIR:
40
44
  DEFAULT_CMAPS_FILES.update(
41
- {f.stem: str(f) for f in pathlib.Path(USER_CMAPS_DIR).glob("*.npy")}
45
+ {
46
+ f.stem: f
47
+ for f in pathlib.Path(USER_CMAPS_DIR).glob("**/*")
48
+ if f.suffix in {".npy", ".json"}
49
+ }
42
50
  )
43
51
 
44
52
 
@@ -129,7 +137,7 @@ def apply_discrete_cmap(data: numpy.ndarray, colormap: GDALColorMapType) -> Data
129
137
 
130
138
  Args:
131
139
  data (numpy.ndarray): 1D image array to translate to RGB.
132
- color_map (dict): Discrete ColorMap dictionary.
140
+ colormap (GDALColorMapType): Discrete ColorMap dictionary.
133
141
 
134
142
  Returns:
135
143
  tuple: Data (numpy.ndarray) and Alpha band (numpy.ndarray).
@@ -168,7 +176,7 @@ def apply_intervals_cmap(
168
176
 
169
177
  Args:
170
178
  data (numpy.ndarray): 1D image array to translate to RGB.
171
- color_map (Sequence): Sequence of intervals and color in form of [([min, max], [r, g, b, a]), ...].
179
+ colormap (IntervalColorMapType): Sequence of intervals and color in form of [([min, max], [r, g, b, a]), ...].
172
180
 
173
181
  Returns:
174
182
  tuple: Data (numpy.ndarray) and Alpha band (numpy.ndarray).
@@ -274,7 +282,7 @@ class ColorMaps:
274
282
 
275
283
  """
276
284
 
277
- data: Dict[str, Union[str, ColorMapType]] = attr.ib(
285
+ data: Dict[str, Union[str, pathlib.Path, ColorMapType]] = attr.ib(
278
286
  default=attr.Factory(lambda: DEFAULT_CMAPS_FILES)
279
287
  )
280
288
 
@@ -288,17 +296,45 @@ class ColorMaps:
288
296
  dict: colormap dictionary.
289
297
 
290
298
  """
291
- cmap = self.data.get(name.lower(), None)
299
+ cmap = self.data.get(name, None)
292
300
  if cmap is None:
293
301
  raise InvalidColorMapName(f"Invalid colormap name: {name}")
294
302
 
295
- if isinstance(cmap, str):
296
- colormap = numpy.load(cmap)
297
- assert colormap.shape == (256, 4)
298
- assert colormap.dtype == numpy.uint8
299
- return {idx: tuple(value) for idx, value in enumerate(colormap)} # type: ignore
300
- else:
301
- return cmap
303
+ if isinstance(cmap, (pathlib.Path, str)):
304
+ if isinstance(cmap, str):
305
+ cmap = pathlib.Path(cmap)
306
+
307
+ if cmap.suffix == ".npy":
308
+ colormap = numpy.load(cmap)
309
+ assert colormap.shape == (256, 4)
310
+ assert colormap.dtype == numpy.uint8
311
+ cmap_data = {idx: tuple(value) for idx, value in enumerate(colormap)}
312
+
313
+ elif cmap.suffix == ".json":
314
+ with cmap.open() as f:
315
+ cmap_data = json.load(
316
+ f,
317
+ object_hook=lambda x: {
318
+ int(k): parse_color(v) for k, v in x.items()
319
+ },
320
+ )
321
+
322
+ # Make sure to match colormap type
323
+ if isinstance(cmap_data, Sequence):
324
+ cmap_data = [
325
+ (tuple(inter), parse_color(v)) # type: ignore
326
+ for (inter, v) in cmap_data
327
+ ]
328
+
329
+ else:
330
+ raise ValueError(f"Not supported {cmap.suffix} extension for ColorMap")
331
+
332
+ # save the numpy array / dict / sequence in the data dict
333
+ # avoiding the need to re-load the data
334
+ self.data[name] = cmap_data
335
+ return cmap_data
336
+
337
+ return cmap
302
338
 
303
339
  def list(self) -> List[str]:
304
340
  """List registered Colormaps.
@@ -311,7 +347,7 @@ class ColorMaps:
311
347
 
312
348
  def register(
313
349
  self,
314
- custom_cmap: Dict[str, Union[str, ColorMapType]],
350
+ custom_cmap: Dict[str, Union[str, pathlib.Path, ColorMapType]],
315
351
  overwrite: bool = False,
316
352
  ) -> "ColorMaps":
317
353
  """Register a custom colormap.