Skip to main content

CFFI enabled bindings to the CMPH library forcreating and using minimal perfect hashes

Project description

These bindings provide python with the ability to create and use Minimal Perfect Hashes via the CMPH library.

Latest version released on PyPi Build status Coverage Code Health


Should be as simple as

$ pip install cmph-cffi

Development version

The latest development version can be installed directly from GitHub:

$ pip install --upgrade 'git+'


Creating a new MPH

import cmph
with open('/usr/share/dict/words', 'w') as keys:
    mph = cmph.generate_hash(keys)

Getting keys out of an MPH


Saving the MPH

with open('/tmp/out.mph', 'w') as out_file:

Loading a pre-existing MPH

with open('/tmp/out.mph') as in_file:


Greg Bowyer (@GregBowyer) and Venkatesh Sharma (@Venkateshks) created these bindings and these fine people did all the hard implementation work in CMPH.

Reporting bugs

Please see BUG_REPORTS.




Please see LICENSE.

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

cmph-cffi-0.3.0.tar.gz (82.7 kB view hashes)

Uploaded source

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