xarray-spatial  by xarray-contrib

Advanced raster analysis for xarray users

Created 6 years ago
946 stars

Top 38.4% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> xarray-spatial delivers over 150 spatial analysis algorithms for xarray DataArrays, targeting GIS professionals and researchers. It provides fast, accurate, and scalable raster operations across CPU, Dask, and GPU backends, notably without GDAL/GEOS dependencies.

How It Works

The library leverages Numba for JIT compilation, Dask for parallel/out-of-core processing, and CuPy for GPU acceleration. Functions automatically dispatch to the most efficient backend. This pure Python/Numba approach bypasses complex C/C++ dependencies like GDAL/GEOS for both raster I/O and core analysis.

Quick Start & Requirements

Installation via pip install xarray-spatial or conda install -c conda-forge xarray-spatial. Core dependencies include NumPy, Numba, SciPy, Xarray, Matplotlib, and Zstandard. Optional dependencies for GPU (CuPy, libnvcomp), Dask, and cloud storage (fsspec) require separate installation. GPU acceleration needs compatible hardware and CUDA drivers. Starter examples and data can be downloaded via CLI commands.

Highlighted Details

  • Extensive Functionality: Over 150 algorithms for hydrology, surface analysis, classification, interpolation, multispectral indices, etc.
  • Multi-Backend Dispatch: Seamlessly utilizes NumPy, Dask, CuPy, and Dask+CuPy for optimized performance.
  • GDAL/GEOS-Free: Native GeoTIFF/COG/VRT I/O in pure Python/Numba, simplifying setup and enabling GPU-accelerated decompression.
  • Cloud & VRT Support: Reads/writes from cloud storage (S3, GCS, Azure) via fsspec and handles VRT mosaics.
  • Performance: Claims pixel-exact compatibility with rasterio/GDAL and offers GPU-accelerated operations.

Maintenance & Community

The project is under a feature freeze, preparing for its v1.0.0 release. Only bug fixes, performance, and documentation updates are accepted. New features will be triaged post-release. The project seeks contributors for AI-assisted workflows and mandates adherence to a specific AI review process for all PRs.

Licensing & Compatibility

The README mentions "License" but does not specify the license type, preventing assessment of commercial use compatibility.

Limitations & Caveats

A strict feature freeze is in effect until v1.0.0. The mandatory AI-assisted contribution workflow may be a barrier. Crucially, the absence of a declared license prevents assessment of commercial usability or integration restrictions.

Health Check
Last Commit

17 hours ago

Responsiveness

Inactive

Pull Requests (30d)
630
Issues (30d)
496
Star History
9 stars in the last 30 days

Explore Similar Projects

Starred by Tri Dao Tri Dao(Chief Scientist at Together AI), Stas Bekman Stas Bekman(Author of "Machine Learning Engineering Open Book"; Research Engineer at Snowflake), and
1 more.

oslo by tunib-ai

0%
309
Framework for large-scale transformer optimization
Created 4 years ago
Updated 3 years ago
Starred by David Cournapeau David Cournapeau(Author of scikit-learn), Stas Bekman Stas Bekman(Author of "Machine Learning Engineering Open Book"; Research Engineer at Snowflake), and
5 more.

lectures by gpu-mode

0.3%
6k
Lecture series for GPU-accelerated computing
Created 2 years ago
Updated 2 weeks ago
Starred by Bojan Tunguz Bojan Tunguz(AI Scientist; Formerly at NVIDIA), Alex Chen Alex Chen(Cofounder of Nexa AI), and
19 more.

ggml by ggml-org

0.2%
15k
Tensor library for machine learning
Created 3 years ago
Updated 2 days ago
Feedback? Help us improve.