{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/6"},{"label":"Information Analysis","url":"https://skillfed.io/packages/category/scientific-engineering-information-analysis/2"},{"label":"Distributed Computing","url":"https://skillfed.io/packages/category/system-distributed-computing/2"}],"enrichment":{"capability":"Python wrapper for Google's CityHash and FarmHash non-cryptographic hash functions, offering 32-, 64-, and 128-bit implementations with support for hardware-independent fingerprints and fast hashing of buffer-protocol objects like NumPy arrays.","skillfed_tags":["non-cryptographic-hashing","numpy-compatible","distributed-systems"],"use_cases":["Hash large NumPy arrays efficiently without copying data in machine learning or scientific computing pipelines.","Generate hardware-independent fingerprints for distributed caching or load-balancing systems needing consistent hashes across machines.","Fast non-cryptographic hashing in high-throughput applications where speed matters more than cryptographic strength.","Implement consistent hashing for data partitioning in distributed databases or key-value stores.","Hash fixed-size data structures in performance-critical sections where cryptographic guarantees are unnecessary."],"what_it_does":"Cityhash is a Python binding to Google's CityHash and FarmHash algorithms\u2014a family of fast, non-cryptographic hash functions designed for speed rather than cryptographic security. It exposes multiple bit-width variants (32, 64, 128) under separate namespaces and supports hardware-independent fingerprints that remain consistent across platforms, making them suitable for distributed systems that need to persist hashed values. The package can hash any object that implements Python's buffer protocol without copying data to memory.\n\nThe package is built from compiled C++ bindings and ships pre-built wheels for major platforms and Python versions, reducing installation friction. It explicitly does not support incremental hashing. On x86-64 systems, wheels include SSE4.2 optimizations that significantly accelerate certain hash variants, though the vanilla CityHash functions do not benefit from these instructions.","worth_installing":"Yes, if you need fast non-cryptographic hashing with buffer-protocol support and don't require incremental hashing. Pre-built wheels and broad platform coverage make installation straightforward. The aging maintenance status (309 days since release) is a minor concern but not a blocker\u2014the package is stable with no known vulnerabilities. Skip it if you need cryptographic hashing or streaming/incremental hashing."},"id":"cityhash","links":{"html":"https://skillfed.io/packages/cityhash","md":"https://skillfed.io/packages/cityhash.md","pypi":"https://pypi.org/project/cityhash/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-10-09","license_spdx":null,"license_treatment":"permissive","name":"cityhash","python_support":"supports_current","summary":"Python bindings for CityHash and FarmHash"},"popularity":{"monthly_downloads":406355,"position":6897,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.4.10"}
