Skip to main content

Python bindings for MetroHash

Project description

metrohash-python

Python bindings for the fast non-cryptograpical hash function MetroHash. MetroHash C++ library by J. Andrew Rogers, Python bindings by Dobatymo.

Requirements

The library has been tested on Linux Python 3.6, and on Windows Python 3.6, 3.7.

Install

pip install metrohash-python

Compilation requires a C++ compiler and optionally Cython.

Examples

The usage is similar to Python's hashlib.

>>> import metrohash
>>> h = metrohash.MetroHash128()
>>> h.update(b'asd')
>>> h.update(b'qwe')
>>> h.digest()
b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda'
>>> h.hexdigest()
'4bfb17eb3eb257bd93adf617ce6714da'

Or as simple non-incremental function:

>>> import metrohash
>>> metrohash.metrohash128(b'asdqwe')
b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda'

The interface for MetroHash64 and metrohash64 is the same.

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

metrohash-python-1.1.3.3.tar.gz (46.0 kB view hashes)

Uploaded Source

Built Distributions

metrohash_python-1.1.3.3-pp38-pypy38_pp73-win_amd64.whl (42.8 kB view hashes)

Uploaded PyPy Windows x86-64

metrohash_python-1.1.3.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (172.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

metrohash_python-1.1.3.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (177.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

metrohash_python-1.1.3.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (45.9 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

metrohash_python-1.1.3.3-pp37-pypy37_pp73-win_amd64.whl (42.7 kB view hashes)

Uploaded PyPy Windows x86-64

metrohash_python-1.1.3.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (167.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

metrohash_python-1.1.3.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (172.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

metrohash_python-1.1.3.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (21.4 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

metrohash_python-1.1.3.3-cp310-cp310-win_amd64.whl (24.5 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

metrohash_python-1.1.3.3-cp310-cp310-win32.whl (24.6 kB view hashes)

Uploaded CPython 3.10 Windows x86

metrohash_python-1.1.3.3-cp310-cp310-musllinux_1_1_x86_64.whl (694.8 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

metrohash_python-1.1.3.3-cp310-cp310-musllinux_1_1_i686.whl (752.5 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

metrohash_python-1.1.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (147.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

metrohash_python-1.1.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (149.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

metrohash_python-1.1.3.3-cp310-cp310-macosx_10_9_x86_64.whl (27.4 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

metrohash_python-1.1.3.3-cp39-cp39-win_amd64.whl (24.5 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

metrohash_python-1.1.3.3-cp39-cp39-win32.whl (24.6 kB view hashes)

Uploaded CPython 3.9 Windows x86

metrohash_python-1.1.3.3-cp39-cp39-musllinux_1_1_x86_64.whl (693.2 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

metrohash_python-1.1.3.3-cp39-cp39-musllinux_1_1_i686.whl (751.0 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

metrohash_python-1.1.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

metrohash_python-1.1.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (147.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

metrohash_python-1.1.3.3-cp39-cp39-macosx_10_9_x86_64.whl (27.4 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

metrohash_python-1.1.3.3-cp38-cp38-win_amd64.whl (24.5 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

metrohash_python-1.1.3.3-cp38-cp38-win32.whl (24.6 kB view hashes)

Uploaded CPython 3.8 Windows x86

metrohash_python-1.1.3.3-cp38-cp38-musllinux_1_1_x86_64.whl (695.7 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

metrohash_python-1.1.3.3-cp38-cp38-musllinux_1_1_i686.whl (753.6 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

metrohash_python-1.1.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (147.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

metrohash_python-1.1.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (148.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

metrohash_python-1.1.3.3-cp38-cp38-macosx_10_9_x86_64.whl (27.0 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

metrohash_python-1.1.3.3-cp37-cp37m-win_amd64.whl (24.4 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

metrohash_python-1.1.3.3-cp37-cp37m-win32.whl (24.5 kB view hashes)

Uploaded CPython 3.7m Windows x86

metrohash_python-1.1.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl (689.4 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

metrohash_python-1.1.3.3-cp37-cp37m-musllinux_1_1_i686.whl (746.3 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

metrohash_python-1.1.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

metrohash_python-1.1.3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (143.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

metrohash_python-1.1.3.3-cp37-cp37m-macosx_10_9_x86_64.whl (26.9 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

metrohash_python-1.1.3.3-cp36-cp36m-win_amd64.whl (24.5 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

metrohash_python-1.1.3.3-cp36-cp36m-win32.whl (24.6 kB view hashes)

Uploaded CPython 3.6m Windows x86

metrohash_python-1.1.3.3-cp36-cp36m-musllinux_1_1_x86_64.whl (688.3 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

metrohash_python-1.1.3.3-cp36-cp36m-musllinux_1_1_i686.whl (745.5 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

metrohash_python-1.1.3.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140.8 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

metrohash_python-1.1.3.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (142.1 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

metrohash_python-1.1.3.3-cp36-cp36m-macosx_10_9_x86_64.whl (27.4 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

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