rio-tiler 6.7.0__tar.gz → 7.0.0__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.
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/.gitignore +0 -1
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/PKG-INFO +13 -10
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/README.md +4 -4
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/pyproject.toml +10 -6
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/__init__.py +1 -1
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/colormap.py +54 -18
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/io/base.py +330 -131
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/io/rasterio.py +36 -102
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/io/stac.py +66 -21
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/io/xarray.py +14 -115
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/models.py +16 -65
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/reader.py +3 -4
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/types.py +3 -2
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/utils.py +36 -12
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/AUTHORS.txt +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/LICENSE +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/__init__.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/accent.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/accent_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/afmhot.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/afmhot_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/algae.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/algae_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/amp.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/amp_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/autumn.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/autumn_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/balance.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/balance_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/binary.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/binary_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/blues.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/blues_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bone.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bone_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/brbg.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/brbg_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/brg.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/brg_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bugn.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bugn_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bupu.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bupu_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bwr.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/bwr_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cfastie.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cividis.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cividis_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cmrmap.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cmrmap_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cool.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cool_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/coolwarm.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/coolwarm_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/copper.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/copper_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cubehelix.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/cubehelix_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/curl.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/curl_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/dark2.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/dark2_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/deep.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/deep_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/delta.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/delta_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/dense.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/dense_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/diff.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/diff_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/flag.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/flag_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_earth.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_earth_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_gray.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_gray_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_heat.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_heat_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_ncar.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_ncar_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_rainbow.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_rainbow_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_stern.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_stern_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_yarg.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gist_yarg_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gnbu.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gnbu_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gnuplot.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gnuplot2.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gnuplot2_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gnuplot_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gray.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/gray_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/greens.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/greens_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/greys.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/greys_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/haline.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/haline_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/hot.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/hot_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/hsv.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/hsv_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ice.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ice_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/inferno.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/inferno_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/jet.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/jet_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/magma.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/magma_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/matter.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/matter_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/nipy_spectral.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/nipy_spectral_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ocean.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ocean_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/oranges.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/oranges_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/orrd.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/orrd_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/oxy.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/oxy_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/paired.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/paired_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pastel1.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pastel1_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pastel2.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pastel2_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/phase.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/phase_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pink.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pink_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/piyg.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/piyg_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/plasma.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/plasma_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/prgn.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/prgn_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/prism.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/prism_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pubu.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pubu_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pubugn.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/pubugn_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/puor.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/puor_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/purd.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/purd_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/purples.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/purples_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rain.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rain_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rainbow.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rainbow_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdbu.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdbu_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdgy.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdgy_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdpu.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdpu_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdylbu.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdylbu_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdylgn.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rdylgn_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/reds.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/reds_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/rplumbo.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/schwarzwald.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/seismic.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/seismic_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/set1.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/set1_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/set2.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/set2_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/set3.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/set3_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/solar.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/solar_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/spectral.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/spectral_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/speed.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/speed_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/spring.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/spring_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/summer.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/summer_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab10.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab10_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab20.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab20_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab20b.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab20b_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab20c.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tab20c_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tarn.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tarn_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tempo.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/tempo_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/terrain.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/terrain_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/thermal.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/thermal_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/topo.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/topo_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/turbid.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/turbid_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/turbo.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/turbo_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/twilight.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/twilight_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/twilight_shifted.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/twilight_shifted_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/viridis.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/viridis_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/winter.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/winter_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/wistia.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/wistia_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylgn.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylgn_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylgnbu.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylgnbu_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylorbr.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylorbr_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylorrd.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/cmap_data/ylorrd_r.npy +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/constants.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/errors.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/expression.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/io/__init__.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/logger.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/mosaic/__init__.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/mosaic/methods/__init__.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/mosaic/methods/base.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/mosaic/methods/defaults.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/mosaic/reader.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/profiles.py +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/py.typed +0 -0
- {rio_tiler-6.7.0 → rio_tiler-7.0.0}/rio_tiler/tasks.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: rio-tiler
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.0.0
|
|
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<
|
|
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:
|
|
72
|
-
Requires-Dist: mkdocs-jupyter; extra == 'docs'
|
|
73
|
-
Requires-Dist: mkdocs-material; extra == 'docs'
|
|
74
|
-
Requires-Dist:
|
|
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,<
|
|
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
|
-
"
|
|
72
|
-
"mkdocs",
|
|
73
|
-
"mkdocs-
|
|
74
|
-
"
|
|
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 = "
|
|
160
|
+
current_version = "7.0.0"
|
|
157
161
|
search = "{current_version}"
|
|
158
162
|
replace = "{new_version}"
|
|
159
163
|
regex = false
|
|
@@ -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
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
{
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
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.
|