skillfed

fnvhash

Pure Python FNV hash implementation.

fnvhash v0.2.1 862.3K downloads/30d#4,870 on PyPI36
Permissive license MIT AGING released

What it is and what it does

fnvhash is a pure Python implementation of the FNV (Fowler-Noll-Vo) hash family. It trades performance for portability—the pure Python approach means it runs anywhere without compiled dependencies, but will be slower than optimized alternatives for high-throughput hashing.

The package is useful when you need FNV hashing in environments where installing compiled extensions is difficult or when cross-platform compatibility matters more than speed. It has no runtime dependencies, installs cleanly, and has 100% test coverage. It is licensed under MIT.

Use it for:

  • Computing checksums or hash table keys in pure Python environments where C extensions cannot be installed.
  • Generating FNV hashes for data deduplication or content-addressed storage in portable Python code.
  • Hashing datasets where compatibility is prioritized over performance.
  • Educational purposes to understand FNV hash algorithm implementation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Computes FNV hash values in pure Python, prioritizing portability over performance.

Yes, if you need FNV hashing and portability matters more than performance. The package is stable, has no dependencies, and installs easily. Skip it if you need high-speed hashing—the description itself recommends pyhash for performance-critical use cases. No known vulnerabilities.

Install

fnvhash on PyPI

pip

pip install fnvhash

uv

uv add fnvhash

poetry

poetry add fnvhash

Installing fnvhash

Before you install

Low install friction with no runtime dependencies. Maintenance is aging—last commit was 2025-05-05 and the package is in Beta status, but the repository is not archived and receives occasional updates.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.

Quickstart

pip install fnvhash

from fnvhash import fnv1a_32
hash_value = hex(fnv1a_32(b'foo'))

Requires Python 3.9 or later.

Verify before relying

  • Whether FNV hashes are suitable for cryptographic purposes or only for non-security use cases.
  • Performance characteristics compared to alternatives when speed is important.
  • Which FNV variants (FNV-1, FNV-1a, bit widths) are supported beyond the fnv1a_32 example shown.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 466 days since the last release
Last repo commit
First released
Downloads 862,284/month — #4,870 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: fnvhash-0.2.1-py3-none-any.whl

Keywords: fnv, fnv1, fnv1a, hash

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Topic :: InternetTopic :: Software DevelopmentTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

fnv hash pythonfnv1 fnv1a implementationhash function pure pythonportable hashing algorithmfnv hash librarypure python hash
hashingpure-python

More Software Development packages