--- id: spookyhash version: "2.1.1" license: MIT license_treatment: permissive maintenance: aging --- # spookyhash — A Python wrapper for SpookyHash version 2 License: permissive · Maintenance: aging · Downloads: 102.7K/mo ## What it is and what it does spookyhash is a Python wrapper around Bob Jenkins' SpookyHash algorithm, a non-cryptographic hash function optimized for speed. It exposes three hash output sizes (32, 64, and 128 bits) and supports both one-shot hashing and incremental updates via stateful Hash objects. The library also handles memoryview-compatible types, making it convenient for NumPy arrays and other buffer-protocol objects. The package targets use cases where you need fast, non-cryptographic hashing—such as hash tables, checksums, or data deduplication—rather than security-sensitive applications. It has no runtime dependencies and provides pre-built wheels for modern Python versions (3.7–3.14) across major platforms, though the project is aging with its last release 278 days ago. Use it for: - Hash table or dictionary implementation where speed matters more than cryptographic security - Deduplication of large datasets by computing fast checksums on data chunks or NumPy arrays - Incremental hashing of streaming data or file chunks without loading entire content into memory - Fast content-based addressing in caching systems or distributed storage - Bloom filters or probabilistic data structures that require non-cryptographic hashing ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides fast 32-, 64-, and 128-bit hashing via Bob Jenkins' SpookyHash algorithm, with both one-shot and incremental hash modes and support for memoryview-compatible types like NumPy arrays. Yes, if you need a fast non-cryptographic hash function for performance-critical applications like deduplication, caching, or hash tables. The MIT license is permissive, install friction is manageable with pre-built wheels, no vulnerabilities are known, and the API is straightforward. No if you require cryptographic security or active maintenance—the project is aging and has not been updated in 278 days. ## Install pip install spookyhash uv add spookyhash poetry add spookyhash ## Installing spookyhash Before you install: Medium install friction due to compiled wheels; pre-built binaries available for Python 3.7–3.14 across macOS, Linux, Windows, and ARM platforms. Last release 278 days ago; repository active but aging. License in practice: MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions. Quickstart: pip install spookyhash import spookyhash # One-shot hash result = spookyhash.hash64(b'hello world') print(result) # 14865987102431973981 # Incremental hash sh = spookyhash.Hash64() sh.update(b'hello') sh.update(b' world') print(sh.hexdigest()) # 5d12ff9b81984ece Verify before relying: - Whether SpookyHash collisions are acceptable for your use case compared to cryptographic hashes - Performance benchmarks against Python's built-in hashlib for your typical data sizes ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: medium - Maintenance: aging - Downloads: 102.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags spookyhash algorithm python, fast hash function 32 64 128 bit, bob jenkins spooky hash, incremental hashing python, memoryview compatible hash, numpy array hashing, non-cryptographic hash library, hashing, non-cryptographic, performance [View on SkillFed](https://skillfed.io/packages/spookyhash) · [View on PyPI](https://pypi.org/project/spookyhash/)