Awesome
python-farmhash
Overview
This package provides bindings for the Google's FarmHash.
Code specific to this project is covered by The MIT License
Forked on 2015.04.06 to add bindings for fingerprint functions. Pull request submitted.
Install
Update: Windows binary wheel uploaded to pypi
Currently, clone the repo and:
pip(Linux & Windows):
$ sudo pip install pyfarmhash
From Source:
$ cd python-farmhash
$ sudo python setup.py Install
You need g++
installed.
Windows: (Sheer hackery. I'm sure there's a way to do this with the new VS but this is working and I don't have hours to work on it. Feel free to submit a pull request)
Install Microsoft Visual C++ Compiler for Python 2.7 http://www.microsoft.com/en-us/download/details.aspx?id=44266 Install msinttypes https://code.google.com/p/msinttypes/ Copy stdint.h to the src directory, and modify the farmhash.cc line 47 reference to use double quotes instead of angle brackets Add "if defined(_MSC_VER) ||" to line 76 of farmhash.cc $ cd python-farmhash $ sudo python setup.py install
Usage
The library is pretty simple to use:
import farmhash
print farmhash.hash64('abc')
2640714258260161385
For more details, use ipython:
In [1]: import farmhash
In [2]: farmhash.hash64withseed?
Type: builtin_function_or_method
String Form:<built-in function hash64withseed>
Docstring:
Hash function for a bytes-like object. For convenience, a 64-bit seed is also hashed into the result.
example: print farmhash.hash64withseed('abc', 12345)
13914286602242141520L