⚙️ cog3pio - Cloud-optimized GeoTIFF ... Parallel I/O⚓︎
Practice the Three Acts of CoGnizance - Use GeoTIFF-tiles, Be GDAL-less, Go GPU-accelerated
Installation⚓︎
Rust 🦀⚓︎
Stay minimal and pure, or treat yourself to more features.
cargo add cog3pio
Python 🐍⚓︎
The minimal CPU-only wheels using image-tiff backend.
pip install cog3pio
add an extra CUDA-based nvTIFF backend
(pre-built wheels only on Linux x86_64 and aarch64). Requires a
patched nvTIFF library.
pip install cog3pio[cuda]
Alternatively, fetch it from conda-forge, which will include the CUDA features if you are on a supported platform.
conda install --channel conda-forge cog3pio
Tip
The API for this crate/library is still unstable and subject to change, so you may want to pin to a specific git commit using either:
cargo add --git https://github.com/weiji14/cog3pio.git --rev <sha>pip install git+https://github.com/weiji14/cog3pio.git@<sha>
where <sha> is a commit hashsum obtained from
https://github.com/weiji14/cog3pio/commits/main
Extra instructions⚓︎
For Linux users who have a CUDA GPU, go and download and install nvTIFF using your system's package manager (recommended).
# ... set up nvidia sources before running below
apt -y install nvtiff-cuda-13 # debian/ubuntu
dnf install -y nvtiff-cuda-13 # rocky/rhel
or via conda-forge (not so recommended unless you know what you're doing)
conda install --channel conda-forge libnvtiff-dev
then locate the nvtiff.h header file and apply this patch.
sed --in-place "s/nvtiffTagDataType type/enum nvtiffTagDataType type/g" /usr/include/nvtiff.h
Getting frustrated? Open an issue (or find one already there)!