Metadata-Version: 2.1
Name: xoak
Version: 0.1.1
Summary: Xarray extension that provides indexes for selecting irregular, n-dimensional data.
Home-page: https://github.com/xarray-contrib/xoak
Maintainer: Benoit Bovy, Willi Rath
Maintainer-email: benbovy@gmail.com
License: MIT
Keywords: xarray,index
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.6
Requires-Dist: xarray
Requires-Dist: numpy
Requires-Dist: dask
Requires-Dist: scipy
Provides-Extra: dev
Requires-Dist: scikit-learn ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'

# 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.


