Thanks to visit codestin.com
Credit goes to github.com

Skip to content

jampp/pybloomfiltermmap

 
 

Repository files navigation

pybloomfiltermmap Build Status

The goal of pybloomfiltermmap is simple: to provide a fast, simple, scalable, correct library for Bloom Filters in Python.

Docs

See http://axiak.github.com/pybloomfiltermmap/.

Overview

After you install, the interface to use is a cross between a file interface and a ste interface. As an example:

>>> fruit = pybloomfilter.BloomFilter(100000, 0.1, '/tmp/words.bloom')
>>> fruit.update(('apple', 'pear', 'orange', 'apple'))
>>> len(fruit)
3
>>> 'mike' in fruit
False
>>> 'apple' in fruit
True

Install

You may or may not want to use Cython. If you have it installed, the setup file will build the C file from the pyx file. Otherwise, it will skip that step automatically and build from the packaged C file.

To install:

$ sudo python setup.py install

and you should be set.

Troubleshooting

Mac users may face problems when installing the package, it happens because on the build, the compiler tries to import a module that is provided by OpenSSL, and most of the cases it fails because it can't find the module. What to do in these cases:

  • Make sure openssl is installed brew install openssl
  • Set an environment variable that tells the path to the openssl installed export CFLAGS="-L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include"
  • You may need extra flags to the compiler, check with brew info openssl

License

See the LICENSE file. It's under the MIT License.

About

Fast Python Bloom Filter using Mmap

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 65.8%
  • Python 20.6%
  • Cython 13.2%
  • Makefile 0.4%