Skip to content

⚙️ 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)!