--- id: polars-hash version: "0.9.1" license: unclear license_treatment: unclear maintenance: active --- # polars-hash — Stable non-cryptographic and cryptographic hashing functions for Polars License: unclear · Maintenance: active · Downloads: 413.7K/mo ## What it is and what it does Polars-hash is a Rust-backed Polars plugin that extends DataFrames with a comprehensive set of hashing operations. It provides cryptographic hashers (SHA256), fast non-cryptographic hashers (FarmHash, CityHash, WyHash, GxHash), geospatial hashing (geohash and H3 spatial indexing), and time-window hashing that bins timestamps into variable-precision sliding windows. The plugin is designed to maintain stable hashing across different Polars versions, so the same input always produces the same hash output. You use it by importing polars_hash alongside Polars and calling hash methods on column expressions—either on individual columns, concatenated strings, or entire rows. The row-hashing mode is particularly useful because it produces a unique hash for each row regardless of column type or storage format, treating semantic values rather than raw bytes. The plugin handles struct types for geographic coordinates and supports precision control for time-based hashing. Use it for: - Hash entire DataFrame rows to create unique identifiers for deduplication or join operations across heterogeneous column types - Compute geohashes or H3 spatial indices from latitude/longitude pairs for geographic clustering or spatial queries - Generate SHA256 hashes of string columns for cryptographic integrity checks or secure data linkage - Bin timestamps into variable-precision time windows so rows falling in the same window share a hash for temporal aggregation - Apply fast non-cryptographic hashes (FarmHash, WyHash) to columns for bucketing or partitioning in data pipelines ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Polars-hash adds cryptographic and non-cryptographic hashing functions to Polars DataFrames, including SHA256, FarmHash, CityHash, GxHash, geohashing, H3 spatial indexing, and time-window hashing. Yes, if you need hashing operations in Polars workflows. The package is actively maintained, has no known vulnerabilities, and offers a broad range of hashing algorithms not built into Polars itself. However, verify the license terms before use in proprietary contexts, and confirm that the AES-instruction requirement for GxHash does not conflict with your deployment targets. ## Install pip install polars-hash uv add polars-hash poetry add polars-hash ## Installing polars-hash Before you install: Medium install friction due to compiled wheels for multiple platforms (x86_64, ARM, i686, Windows). Requires Python 3.10+. Active maintenance with recent release (11 days ago) and 93 repository stars. License in practice: License treatment is unclear—no SPDX identifier or raw license text provided. Verify the license terms before use in proprietary or restricted contexts. Quickstart: import polars as pl import polars_hash as plh df = pl.DataFrame({"foo": ["hello_world"]}) result = df.select(plh.col('foo').chash.sha256()) Requires Python 3.10 or later. GxHash expressions require a CPU with AES instructions; no software fallback available. Verify before relying: - Whether the unclear license permits commercial or proprietary use without restriction - Performance characteristics and memory overhead compared to native Polars operations - Stability guarantees across future Polars versions beyond what 'stable hashing' claims ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 413.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags polars hashing functions, cryptographic hash polars, geohash spatial index, farmhash cityash polars, dataframe row hashing, time window hashing, h3 spatial indexing, polars-plugin, geospatial-hashing, data-integrity [View on SkillFed](https://skillfed.io/packages/polars-hash) · [View on PyPI](https://pypi.org/project/polars-hash/)