Metadata-Version: 2.4
Name: rasterix
Version: 0.1a2
Summary: Raster extensions for Xarray
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: xarray
Classifier: Development Status :: 4 - Beta
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: affine
Requires-Dist: numpy>=2
Requires-Dist: pandas>=2
Requires-Dist: xarray>=2025
Provides-Extra: dask
Requires-Dist: dask-geopandas; extra == 'dask'
Provides-Extra: exactextract
Requires-Dist: exactextract; extra == 'exactextract'
Provides-Extra: rasterize
Requires-Dist: odc-geo; extra == 'rasterize'
Requires-Dist: rasterio; extra == 'rasterize'
Requires-Dist: rioxarray; extra == 'rasterize'
Provides-Extra: test
Requires-Dist: dask-geopandas; extra == 'test'
Requires-Dist: exactextract; extra == 'test'
Requires-Dist: geodatasets; extra == 'test'
Requires-Dist: netcdf4; extra == 'test'
Requires-Dist: odc-geo; extra == 'test'
Requires-Dist: rasterio; extra == 'test'
Requires-Dist: rioxarray; extra == 'test'
Description-Content-Type: text/markdown

# rasterix: Raster tricks for Xarray

<img src="rasterix.png" width="300">

This WIP project contains tools to make it easier to analyze raster data with Xarray.

The intent is to provide reusable building blocks for the many sub-ecosystems around: e.g. rioxarray, odc-geo, etc.

It currently has two pieces.

## 1. RasterIndex

See `src/ rasterix/raster_index.py` and `notebooks/raster_index.ipynb` for a brief demo.

## 2. Dask-aware rasterization wrappers

See `src/rasterix/rasterize.py` for dask-aware wrappers around [`exactextract`](https://github.com/dcherian/rasterix/blob/ec3f51e60e25aa312e6f48c4b22f91bec70413ed/rasterize.py#L165), [`rasterio.features.rasterize`](https://github.com/dcherian/rasterix/blob/ec3f51e60e25aa312e6f48c4b22f91bec70413ed/rasterize.py#L307), and [`rasterio.features.geometry_mask`](https://github.com/dcherian/rasterix/blob/ec3f51e60e25aa312e6f48c4b22f91bec70413ed/rasterize.py#L472).

This code is likely to move elsewhere!

## Trying it out

### PyPI

`rasterix` alpha releases are available on pypi

```
pip install rasterix
```

### Installing and testing from source

1. Clone the repo
   ```
   git remote add upstream git@github.com:dcherian/rasterix.git
   cd rasterix
   ```
1. [Install hatch](https://hatch.pypa.io/1.12/install/)
1. Run the tests
   ```
   hatch env run --env test.py3.13 run-pytest  # Run the tests without coverage reports
   hatch env run --env test.py3.13 run-coverage-html   # Run the tests with an html coverage report
   ```
