Skip to main content

Python wrapper for MurmurHash (MurmurHash3), a set of fast and robust hash functions.

Project description

mmh3

Python wrapper for MurmurHash (MurmurHash3), a set of fast and robust hash functions.

mmh3 2.2 supports both Python 2.7 and 3.x.

Usage

Sample Usage:

>>> import mmh3
>>> mmh3.hash('foo') # 32 bit signed int
-156908512
>>> mmh3.hash64('foo') # two 64 bit signed ints
(-2129773440516405919, 9128664383759220103)
>>> mmh3.hash_bytes('foo') # 128 bit value as bytes
'aE\xf5\x01W\x86q\xe2\x87}\xba+\xe4\x87\xaf~'
>>> mmh3.hash('foo', 42) # uses 42 for its seed
-1322301282

hash64 and hash_bytes have the third argument for architecture optimization. Use True for x64 and False for x86 (default: True).:

>>> mmh3.hash64('foo', 42, True)
(-840311307571801102, -6739155424061121879)

Changes

2.2 (2013-03-03)

  • Improve portability to support systems with old gcc (version < 4.4) such as CentOS/RHEL 5.x. (Commit from Micha Gorelick. Thanks!)

2.1 (2013-02-25)

  • Add __version__ constant. Check if it exists when the following revision matters for your application.

  • Incorporate the revision r147, which includes robustness improvement and minor tweaks.

Beware that due to this revision, the result of 32-bit version of 2.1 is NOT the same as that of 2.0. E.g.,:

>>> mmh3.hash('foo') # in mmh3 2.0
-292180858
>>> mmh3.hash('foo') # in mmh3 2.1
-156908512

The results of hash64 and hash_bytes remain unchanged. Austin Appleby, the author of Murmurhash, ensured this revision was the final modification to MurmurHash3’s results and any future changes would be to improve performance only.

License

Public Domain

Authors

MurmurHash3 was created by Austin Appleby

Modified by Hajime Senuma

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

mmh3-2.2.tar.gz (5.5 kB view details)

Uploaded Source

File details

Details for the file mmh3-2.2.tar.gz.

File metadata

  • Download URL: mmh3-2.2.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mmh3-2.2.tar.gz
Algorithm Hash digest
SHA256 1c4f2cc8c15e473ec1e30f88619559a653a3068812a5108597ea9ec21a971d71
MD5 de69924d56b7838e818de246591cdb8b
BLAKE2b-256 55547130149630120d8ab7c6b395966e908dc9f54e769982e34135db6713846c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page