Skip to main content

A Cython-based interface to the FLANN nearest neighbors library.

Project description

This is a Cython-based interface to the FLANN library.

If you’re just looking for any Python interface to FLANN, the ctypes interface that it ships with may be better for you. I wrote this interface for an application that needs to run lots of independent searches without the GIL.

The interface is currently incomplete; right now only float32 is supported, it also has some known issues, and is probably less friendly in general than it could be. If you want to use it, bug reports and/or pull requests are welcome.

cyflann is only tested with FLANN 1.8.4 and git master. cyflann supports FLANN’s OpenMP wrappers, but has not been tested with its MPI or CUDA interfaces.

Installation

If you use the Anaconda Python distribution, the easiest way to get both cyflann and FLANN is:

conda install -c http://conda.binstar.org/dougal cyflann

Otherwise, you need to install FLANN yourself, and can then run:

pip install cyflann

If you’re using FLANN 1.8.4 or earlier (the most recent release), a problem with its pkg-config files means that cyflann won’t link properly. This has been fixed in the development branch since April 2013, but there hasn’t been an official release since then.

To work around this problem, set the environment variable FLANN_DIR to the root of the installation before running pip or setup.py, e.g. /usr/local if the libraries are in /usr/local/lib/libflann.so. If you’re using sudo, remember that it doesn’t necessarily propagate environment variables by default; sudo FLANN_DIR=/wherever pip install cyflann will work.

Installing FLANN

Anaconda: conda install -c http://conda.binstar.org/dougal flann (included as a requirement by the cyflann package).

OSX: using Homebrew, brew install homebrew/science/flann; set FLANN_DIR=$(brew --prefix).

Ubuntu: apt-get install libflann1 flann-dev; set FLANN_DIR=/usr.

Fedora: yum install flann flann-devel; set FLANN_DIR=/usr.

CentOS: EPEL has flann packages, but they’re old and not tested with cyflann. Compile from source.

Arch: Install the AUR flann package; cyflann wants FLANN_DIR=/usr.

From source: Download the release source or get the latest version from github (it’s generally pretty stable), and follow the user manual to install. If you’re installing the development branch and have pkg-config available, you shouldn’t need to set FLANN_DIR, but if not set it to whatever you set CMAKE_INSTALL_PREFIX to (/usr/local by default).

Project details


Release history Release notifications

History Node

0.2.4

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0

History Node

0.1.24

History Node

0.1.23

This version
History Node

0.1.22

History Node

0.1.22-dev

History Node

0.1.21

History Node

0.1.20

History Node

0.1.19

History Node

0.1.18

History Node

0.1.17

History Node

0.1.16

History Node

0.1.15

History Node

0.1.14

History Node

0.1.13

History Node

0.1.12

History Node

0.1.11

History Node

0.1.10

History Node

0.1.9

History Node

0.1.8

History Node

0.1.6

History Node

0.1.5

History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
cyflann-0.1.22.tar.gz (150.2 kB) Copy SHA256 hash SHA256 Source None Jul 7, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page