Metadata-Version: 2.4
Name: xoak
Version: 0.1.2
Summary: Xarray extension that provides indexes for selecting irregular, n-dimensional data.
Author: Benoît Bovy, Willi Rath
Maintainer: xoak contributors
License: MIT
License-File: LICENSE
Keywords: index,xarray
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: GIS
Requires-Python: >=3.10
Requires-Dist: dask
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: xarray
Provides-Extra: extras
Requires-Dist: pys2index; extra == 'extras'
Requires-Dist: scikit-learn; extra == 'extras'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# xoak

[![Tests](https://github.com/xarray-contrib/xoak/workflows/test/badge.svg)](https://github.com/xarray-contrib/xoak/actions?query=workflow%3Atest)
[![Coverage](https://codecov.io/gh/xarray-contrib/xoak/branch/master/graphs/badge.svg?branch=master)](https://codecov.io/github/xarray-contrib/xoak?branch=master)
[![Documentation Status](https://readthedocs.org/projects/xoak/badge/?version=latest)](https://xoak.readthedocs.io/en/latest/?badge=latest)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/xarray-contrib/xoak/master?filepath=doc%2Fexamples)

Xoak is an Xarray extension that allows point-wise selection of irregular,
n-dimensional data encoded in coordinates with an arbitrary number of
dimensions.

It provides a built-in index adapter for
[Scipy](https://docs.scipy.org/doc/scipy/reference/)'s `cKDTree`, as well as
adapters for index structures implemented in these 3rd-party libraries (optional
dependencies):

- [Scikit-Learn](https://scikit-learn.org): `BallTree` and `KDTree`, which
  support various distance metrics.
- [pys2index](https://github.com/benbovy/pys2index): `S2PointIndex` for
  efficient indexing of lat/lon point data, based on `s2geometry`.

Xoak also provides a mechanism for easily adding and registering custom index adapters.

## Install

Xoak can be installed using conda (or mamba):

```bash
$ conda install xoak -c conda-forge
```

or pip:

```bash
$ python -m pip install xoak
```

Xoak's optional dependencies can be installed using conda:

```bash
$ conda install scikit-learn pys2index -c conda-forge
```

## Documentation

Documentation is hosted on ReadTheDocs: https://xoak.readthedocs.io/

## License

MIT License, see LICENSE file.
