Skip to content

Latest commit

 

History

History
56 lines (33 loc) · 2.83 KB

README.md

File metadata and controls

56 lines (33 loc) · 2.83 KB

kdtrees

Python implementation of a K-D Tree as a pseudo-balanced Tree

Build Status codecov PyPI - Python Version PyPI GitHub

Maintainability FOSSA Status

Overview

A K-Dimensional Tree, or K-D Tree, is a space-partitioning data structure which efficiently organizing points in k-dimensional space. For further details regarding K-D Trees, please see a detailed description on Wikipedia.

kdtrees implementation of a K-D Tree allows for construction, modification, searching, and other helpful functions such as k-nearest neighbors. It also maintains the tree in a pseudo-balanced manner through a secondary invariant where every node is the median ± dimensionality of subsidiary nodes along a specific axis.

More details regarding this implementation can be found in the documentation here.

Installation

Dependencies

kdtrees requires:

  • numpy

kdtrees is tested and supported on Python 3.4+ up to Python 3.7. Usage on other versions of Python is not guaranteed to work as intended.

User Installation

kdtrees can be easily installed using pip

pip install kdtrees

Changelog

See the changelog for a history of notable changes to kdtrees.

Development

kdtrees is fully implemented for basic functionality. However, it may not have every utility function or have the most optimized algorithms. We welcome contributors of all experience levels to help grow and improve kdtrees. Guides on development, testing, and contribution are in the works!

Currently, particular contributions regarding pytests and documentation would be greatly appreciated. Guides and examples of usage are warmly welcomed.

Help and Support

Documentation

Documentation for kdtrees can be found here.

Issues and Questions

Issues and Questions should be posed to the issue tracker here.