Metadata-Version: 1.2
Name: jump-consistent-hash
Version: 3.1.1
Summary: Implementation of the Jump Consistent Hash algorithm
Home-page: https://github.com/lithammer/python-jump-consistent-hash
Author: Peter Lithammer
Author-email: peter.lithammer@gmail.com
License: MIT
Description: Jump Consistent Hash
        --------------------
        
        .. image:: https://github.com/lithammer/python-jump-consistent-hash/workflows/Test/badge.svg
           :alt: Build Status
           :target: https://github.com/lithammer/python-jump-consistent-hash/actions
        
        Python and C implementation of the jump consistent hash algorithm by John
        Lamping and Eric Veach[1]. Tested on Python 2.7 and 3.4+.
        
        Install
        -------
        
        To install Jump Consistent Hash, simply run this simple command in your
        terminal of choice::
        
           $ pip install jump-consistent-hash
        
        The C implementation is optional but is about 10x faster than the pure Python
        implementation in CPython.
        
        Usage
        `````
        
        .. code:: python
        
           >>> import jump
           >>> jump.hash(256, 1024)
           520
        
        If you want to use a ``str`` as a key instead of an ``int``, you can pass it
        through a hash function to compute a real key. Here's a couple of examples
        using Python 3:
        
        .. code:: python
        
           >>> import hashlib
           >>> int(hashlib.md5(b'127.0.0.1').hexdigest(), 16)
           325870950296970981340734819828239218902
        
           >>> int(hashlib.sha1(b"127.0.0.1").hexdigest(), 16)
           431133456357828263809343936597625557575256328153
        
           >>> import binascii
           >>> binascii.crc32(b'127.0.0.1') & 0xffffffff
           3619153832
        
           >>> abs(hash('127.0.0.1'))
           7536019783825143230
        
        Links
        `````
        
        [1] http://arxiv.org/pdf/1406.2294v1.pdf
        
Keywords: jump hash,jumphash,jump consistent hash,consistent hash,hash algorithm,hash
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4
