Skip to main content

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

Project description

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.

There are three main branches for development and release. master is the current development build; release is the staging branch for releases; production is the current public release build.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kdtrees-0.1.7.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

kdtrees-0.1.7-py2.py3-none-any.whl (17.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file kdtrees-0.1.7.tar.gz.

File metadata

  • Download URL: kdtrees-0.1.7.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.7

File hashes

Hashes for kdtrees-0.1.7.tar.gz
Algorithm Hash digest
SHA256 8a5b8bb5f9dee0a656e234e7287083dd81d257053e923175037eceefd890ca46
MD5 73bda6579270aabfba9e72a015a5a3dd
BLAKE2b-256 db1cf295d7df875997eebd2daaf712675208b30cc09c6a462a5c70dfd383c557

See more details on using hashes here.

File details

Details for the file kdtrees-0.1.7-py2.py3-none-any.whl.

File metadata

  • Download URL: kdtrees-0.1.7-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.7

File hashes

Hashes for kdtrees-0.1.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6533145903b27635c1221034021e22f510d3d02e61972a4e42b2a07d5078306e
MD5 edd097f65d2093e0b29a71c22d36cae0
BLAKE2b-256 f5f0bb7e4b263260b96e80d8a0edc86b17a8d90d31a15cf32535c142411def54

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page