Skip to main content

Travis AppVeyor PyPI conda

cyflann is a Cython-based interface to the FLANN library. It allows you to call FLANN from Cython without python overheads; in particular, you can make many calls in parallel threads without the GIL.

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 FLANNs since 1.8.4. 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, including on Windows, is:

conda install -c conda-forge cyflann

Otherwise, you need to install FLANN yourself (see below), and can then run:

pip install cyflann

NOTE: If you’re using FLANN 1.8.4 or earlier, 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 the 1.9.1 release isn’t yet widely packaged.

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 conda-forge flann (included as a requirement by the cyflann package).

OSX: using Homebrew, brew install homebrew/science/flann; this gives you 1.9.1, but if pkg-config doesn’t work for you for some reason, it’s 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, and follow the user manual to install. If you’re installing 1.9.1 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).

Metadata

Release files for cyflann 0.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cyflann 0.2.5
File Size Uploaded Provenance
cyflann-0.2.5.tar.gz 207.0 kB Without provenance Details

Release files / cyflann-0.2.5.tar.gz

Download URL cyflann-0.2.5.tar.gz
Size 207.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a78c304f5d7bc78971bcfe8ce2e661027f5f2810b5b0d313bb9a60ded1b518b6
BLAKE2b-256 checksum
How to use checksums
6c45176652b241769d45db72b56ca90f05673be14faceb54d175551094c2c001
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

Security for cyflann 0.2.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.5 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page