Skip to main content

(unofficial) `nanoflann` bindings for python and fortran.

Project description

napf

nanoflann wrappers for python and maybe fortran.

python

As nanoflann offers template classes, separate classes are implemented in napf for each {datatype, data dimension, distance metric}. All the search functions are equipped with multi-thread execution. Uses numpy.ndarray for data input and output.
Currently, the combinations of following options are supported:

  • data type: {double, float, int, long} (corresponds to {np.float64, np.float32, np.int32, np.int64})
  • data dimension: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
  • distance metric: {L1, L2}

quick start

install with pip:

pip install --upgrade pip
pip install napf

Note: in case your system requires a dynamic build, you need a c++11 compatible c++ compiler. To make sure a correct compiler is chosen, set export CC=<your-c-compiler> CXX=<your-c++-compiler>

import napf
import numpy as np

data = <data in 2D array>
queries = <query points in 2D array>

kdt = napf.KDT(tree_data=data, metric=1)

indices, distances = kdt.knn_search(
    queries=queries,
    kneighbors=3,
    nthread=4,
)
...

fortran

maybe...

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

napf-0.0.1.tar.gz (26.0 kB view hashes)

Uploaded Source

Built Distributions

napf-0.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (878.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

napf-0.0.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (856.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

napf-0.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (892.6 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

napf-0.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (887.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

napf-0.0.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (854.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

napf-0.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (894.2 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

napf-0.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (885.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

napf-0.0.1-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (856.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

napf-0.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (894.2 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

napf-0.0.1-cp311-cp311-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

napf-0.0.1-cp311-cp311-musllinux_1_1_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

napf-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (890.2 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

napf-0.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (852.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

napf-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl (983.7 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

napf-0.0.1-cp310-cp310-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

napf-0.0.1-cp310-cp310-musllinux_1_1_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

napf-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

napf-0.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (853.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

napf-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl (983.7 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

napf-0.0.1-cp39-cp39-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

napf-0.0.1-cp39-cp39-musllinux_1_1_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

napf-0.0.1-cp39-cp39-manylinux_2_24_x86_64.whl (849.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

napf-0.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (888.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

napf-0.0.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (854.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

napf-0.0.1-cp39-cp39-macosx_10_9_x86_64.whl (924.1 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

napf-0.0.1-cp38-cp38-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

napf-0.0.1-cp38-cp38-musllinux_1_1_i686.whl (1.4 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

napf-0.0.1-cp38-cp38-manylinux_2_24_x86_64.whl (866.4 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

napf-0.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (887.7 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

napf-0.0.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (854.7 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

napf-0.0.1-cp38-cp38-macosx_10_9_x86_64.whl (923.3 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

napf-0.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

napf-0.0.1-cp37-cp37m-musllinux_1_1_i686.whl (1.5 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

napf-0.0.1-cp37-cp37m-manylinux_2_24_x86_64.whl (944.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

napf-0.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (971.5 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

napf-0.0.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (919.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

napf-0.0.1-cp37-cp37m-macosx_10_9_x86_64.whl (856.1 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

napf-0.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

napf-0.0.1-cp36-cp36m-musllinux_1_1_i686.whl (1.5 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

napf-0.0.1-cp36-cp36m-manylinux_2_24_x86_64.whl (943.3 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

napf-0.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

napf-0.0.1-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (920.9 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

napf-0.0.1-cp36-cp36m-macosx_10_9_x86_64.whl (856.0 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

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