Metadata-Version: 2.1
Name: ketama
Version: 0.1.1
Summary: Python bindings for Ketama consistent hash library
Home-page: https://github.com/mosquito/ketama-python
License: BSD License
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: C
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Communications
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Clustering
Classifier: Topic :: System :: Distributed Computing
License-File: LICENSE

ketama
======

Python bindings for `Ketama consistent hash library`_.

.. _Ketama consistent hash library: https://github.com/RJ/ketama

Example
-------

.. code-block:: python

    from ketama import Ketama

    with open("ketama.conf", "w") as fp:
        fp.write("127.0.0.1:1\t400\n")
        fp.write("127.0.0.1:2\t600\n")
        fp.write("127.0.0.1:3\t600\n")


    def main():
        k = Ketama("ketama.conf")


        key_hash, server = k.get_server("1")
        assert server == "127.0.0.1:3"

        key_hash, server = k.get_server("3")
        assert server != "127.0.0.1:1"


    if __name__ == '__main__':
        main()


