Metadata-Version: 2.4
Name: hayahash
Version: 0.5.0
Summary: hayahash64 and hayahash128; CPython C extension over the C reference
Author-email: Ville Vesilehto <ville@vesilehto.fi>
License: Unlicense
Project-URL: Homepage, https://github.com/thevilledev/hayahash
Project-URL: Repository, https://github.com/thevilledev/hayahash
Project-URL: Issues, https://github.com/thevilledev/hayahash/issues
Keywords: hash,hashing,non-cryptographic,hayahash,hayahash64,hayahash128
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: The Unlicense (Unlicense)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: C
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Provides-Extra: test
Requires-Dist: pytest>=8; extra == "test"
Provides-Extra: dev
Requires-Dist: ruff==0.16.1; extra == "dev"
Requires-Dist: pyright==1.1.411; extra == "dev"
Requires-Dist: pytest>=8; extra == "dev"

# hayahash for Python

CPython C extension over [`hayahash.h`](../hayahash.h): small, fast,
portable 64- and 128-bit non-cryptographic hashes for targets with ordinary
wrapping 64×64→64 multiply.

```python
from hayahash import hayahash128, hayahash64

h = hayahash64(b"hello world", 0)
h = hayahash64(data, seed=0x9E3779B97F4A7C15)
lo, hi = hayahash128(data, seed=0x9E3779B97F4A7C15)
```

Requires CPython 3.9+. Package version tracks the shared algorithm
version across every language port in this repository.

PyPI releases ship manylinux/musllinux (and Windows/macOS) wheels built
with [cibuildwheel](https://cibuildwheel.pypa.io/), so `pip install`
does not need a local compiler. The sdist remains available as a
fallback and still builds the extension from source.

```sh
python -m pip install -e ".[test]"
pytest
```

The extension compiles the reference header directly (not a reimplementation).
When building from this monorepo, `../hayahash.h` is preferred; the copy
under `include/` is kept for sdists and checked against the root header in CI.
