Metadata-Version: 2.1
Name: siphash24
Version: 1.0.1
Summary: Streaming-capable SipHash Implementation
Maintainer-email: Daniele Nicolodi <daniele@grinta.net>
Project-URL: Source, https://github.com/dnicolodi/python-siphash24/
Project-URL: Issue Tracker, https://github.com/dnicolodi/python-siphash24/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
Classifier: Programming Language :: C
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.7
Description-Content-Type: text/x-rst

siphash24: Streaming-capable SipHash Implementation
===================================================

This modules provides a C-based implementation of SipHash with an
interface compatible with the hash functions provided by the
``hashlib`` standard library module.  Only SipHash24 is currently
implemented.  For API documentation, see the ``hashlib``
documentation__ and the docstrings of the ``siphahs24`` class and its
methods.

This module differs from other similar modules by providing a
streaming-capable implementation and an interface compatible to the
hash functions provided by the ``hashlib`` standard library module and
by providing binary wheels for all supported Python releases on the
most common platforms.  More platforms can be added to the build job
as needed.

Following the ``hashlib`` interface, the return value of the
``digest()`` method is a ``bytes`` object.  It can be easily converted
to an ``int`` with minimal overhead::

  integer = int.from_bytes(siphash24(b'spam').digest(), 'little')

The SipHash implementation is copied, with minimal modifications to
allow compilation with MSCV, from the `c-siphash library`__, in turn
based on the reference implementation of SipHash, written by
Jean-Philippe Aumasson and Daniel J. Bernstein, and released to the
Public Domain.  This module is distributed with the same license as
the ``c-siphash`` library: Apache-2.0 or LGPL-2.1-or-later, see
AUTHORS__ for details.

__ https://docs.python.org/3/library/hashlib.html
__ https://github.com/c-util/c-siphash
__ https://github.com/c-util/c-siphash/blob/v1/AUTHORS
