--- id: siphash24 version: "1.8" license: Apache-2.0 OR LGPL-2.1-or-later license_treatment: unclear maintenance: aging --- # siphash24 — Streaming-capable SipHash-1-3 and SipHash-2-4 Implementation License: unclear · Maintenance: aging · Downloads: 510.7K/mo ## What it is and what it does siphash24 is a Python wrapper around a C implementation of the SipHash cryptographic hash function, offering both SipHash-1-3 and SipHash-2-4 variants. It exposes an interface compatible with Python's standard hashlib module, so you can use it like any other hash function—calling update() to feed data and digest() to retrieve the result. The package extends hashlib's interface with an intdigest() method that returns the hash as a 64-bit signed integer instead of bytes, which is the conventional representation for SipHash values. The implementation is streaming-capable, meaning you can hash large amounts of data incrementally rather than loading it all into memory at once. It ships as precompiled binary wheels for Python 3.7–3.14 on macOS, Linux, and Windows, eliminating the need to compile C code on most systems. The underlying C code is based on the c-siphash library and ultimately derives from the SipHash reference implementation, so it is well-established and widely reviewed. Use it for: - Hash table implementations or data structures that require a fast, non-cryptographic hash function resistant to hash collision attacks. - Incremental hashing of large files or network streams where you cannot load the entire input into memory at once. - Cryptographic applications that specifically require SipHash-2-4 or SipHash-1-3 variants for compatibility or security requirements. - Scenarios where you need both byte and integer representations of hash values without manual conversion. - Projects that want a hashlib-compatible API but need the specific properties of SipHash rather than MD5 or SHA. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a C-based SipHash-1-3 and SipHash-2-4 implementation with a hashlib-compatible interface and streaming support, returning digests as bytes or 64-bit signed integers. Yes, if you specifically need SipHash and want a hashlib-compatible interface with streaming support. The package is stable, well-maintained enough for production use, has no known vulnerabilities, and provides convenient precompiled wheels. However, the aging maintenance status (346 days since last release) and unclear license metadata warrant a quick review of your licensing requirements before committing. If you only need a general-purpose hash function, Python's built-in hashlib is a simpler choice. ## Install pip install siphash24 uv add siphash24 poetry add siphash24 ## Installing siphash24 Before you install: Medium install friction due to compiled wheels; however, prebuilt binaries are available for Python 3.7–3.14 across macOS (x86_64 and arm64), Linux (x86_64 and aarch64), and Windows (32-bit and 64-bit), reducing build complexity. Maintenance status is aging—last release was 346 days ago—but the repository remains active and the package is marked Production/Stable. License in practice: Licensed under Apache-2.0 OR LGPL-2.1-or-later with unclear treatment in the package metadata. The dual licensing permits use in both permissive and copyleft contexts, but you should verify which license applies to your use case and confirm compliance with your project's license policy. Quickstart: import siphash24 # Create a SipHash-2-4 hasher hasher = siphash24.SipHash_2_4() hasher.update(b'hello world') # Get digest as bytes digest = hasher.digest() print(digest) # Or get as 64-bit signed integer int_digest = hasher.intdigest() print(int_digest) Requires Python 3.7 or later. Precompiled wheels are provided for common platforms; source builds require a C compiler and Cython. Verify before relying: - Whether the dual Apache-2.0 OR LGPL-2.1-or-later license is correctly declared in package metadata (license_treatment is marked 'unclear'). - Performance characteristics compared to hashlib's built-in hash functions or other SipHash implementations. - Whether streaming mode is suitable for your use case or if a single-pass hash is sufficient. ## Package facts - License: Apache-2.0 OR LGPL-2.1-or-later (unclear) - Python support: supports_current - Install friction: medium - Maintenance: aging - Downloads: 510.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags siphash hash function, streaming hash implementation, hashlib compatible hashing, siphash-2-4 algorithm, fast hash function python, cryptographic hash library, siphash-1-3 variant, hashing, cryptography, streaming [View on SkillFed](https://skillfed.io/packages/siphash24) · [View on PyPI](https://pypi.org/project/siphash24/)