Skip to main content

Stable non-cryptographic and cryptographic hashing functions for Polars

Project description

This plugin provides stable hashing functionality across different polars versions.

Examples

Cryptographic Hashers

import polars
import polars_hash as plh

df = pl.DataFrame({
    "foo":["hello_world"]
})

result = df.select(plh.col('foo').chash.sha256())

print(result)

┌──────────────────────────────────────────────────────────────────┐
 foo                                                              
 ---                                                              
 str                                                              
╞══════════════════════════════════════════════════════════════════╡
 35072c1ae546350e0bfa7ab11d49dc6f129e72ccd57ec7eb671225bbd197c8f1 
└──────────────────────────────────────────────────────────────────┘

Non-cryptographic Hashers

df = pl.DataFrame({
    "foo":["hello_world"]
})

result = df.select(plh.col('foo').nchash.wyhash())
print(result)
┌──────────────────────┐
 foo                  
 ---                  
 u64                  
╞══════════════════════╡
 16737367591072095403 
└──────────────────────┘

Geo Hashers

df = pl.DataFrame(
    {"coord": [{"longitude": -120.6623, "latitude": 35.3003}]},
    schema={
        "coord": pl.Struct(
            [pl.Field("longitude", pl.Float64), pl.Field("latitude", pl.Float64)]
        ),
    },
)

df.with_columns(
    plh.col('coord').geohash.from_coords().alias('geohash')
)
shape: (1, 2)
┌─────────────────────┬────────────┐
 coord                geohash    
 ---                  ---        
 struct[2]            str        
╞═════════════════════╪════════════╡
 {-120.6623,35.3003}  9q60y60rhs 
└─────────────────────┴────────────┘


pl.select(pl.lit('9q60y60rhs').geohash.to_coords().alias('coordinates'))
shape: (1, 1)
┌───────────────────────┐
 coordinates           
 ---                   
 struct[2]             
╞═══════════════════════╡
 {-120.6623,35.300298} 
└───────────────────────┘

Create hash from multiple columns

df = pl.DataFrame({
    "foo":["hello_world"],
    "bar": ["today"]
})

result = df.select(plh.concat_str('foo','bar').chash.sha256())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polars_hash-0.4.7.tar.gz (21.1 kB view details)

Uploaded Source

Built Distributions

polars_hash-0.4.7-cp38-abi3-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.8+ Windows x86-64

polars_hash-0.4.7-cp38-abi3-win32.whl (2.7 MB view details)

Uploaded CPython 3.8+ Windows x86

polars_hash-0.4.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64

polars_hash-0.4.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (7.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

polars_hash-0.4.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (9.5 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

polars_hash-0.4.7-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (6.8 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ i686

polars_hash-0.4.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (6.0 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

polars_hash-0.4.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

polars_hash-0.4.7-cp38-abi3-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

polars_hash-0.4.7-cp38-abi3-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

Details for the file polars_hash-0.4.7.tar.gz.

File metadata

  • Download URL: polars_hash-0.4.7.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.1

File hashes

Hashes for polars_hash-0.4.7.tar.gz
Algorithm Hash digest
SHA256 9153f753b8388b3d07400c8fadb7c0893799da57548e65ab431fa988599071b1
MD5 21ddb6a7d19bfec3dfa895846b364482
BLAKE2b-256 694b01d988a7aa47d34807e0b061a8b2cbd65e03211ee0f5f69cc8bf97b6a0cb

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a86cc54465549bea8a3855bf067a5f972b33dba95f00d3f40316f92d2ce65c7a
MD5 6ee7a90f10a5887c3b37b03011c2eb3f
BLAKE2b-256 2e09e0aa473c35b10e2f4f4964437b7c688d6442d8d12df0ba0a3251a9a728a3

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-win32.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 f625806aeed2d3e24715eda047fa7a1af9458db944907e95571429baf774d9d4
MD5 29d742bd5ca2a99e4a1fab2087f280c1
BLAKE2b-256 d1589e77bcee09c4ab1adffbc5040180e8d19e1844efd6a4b7866b1001258e00

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fc6816a2a1cece25493d229a7b4d3dd1416eb48f1b203c38dc5a4efbd072525
MD5 f5dd847304865fdf81318f826aeb0387
BLAKE2b-256 72165912510e391207b542bfa08f7f4caaee892d873f2befd93c7f1f54e2fd58

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4c34957d510a6d8704066a2b06564ea4ffd5f2ea8af1635c83a7f7484b4a5373
MD5 7947bd329071a9911d5c348475ae1829
BLAKE2b-256 63726db8995b14e1f03508268ca3cef98e5c836f7f18ef0946ae3fa6388da94b

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 cdc40df29399a1e10537f9c45bc38ef260d13d4d0a3a173dc6a86e01ba6f4fda
MD5 741488523d5b3ea2dfe4989f96ef76cc
BLAKE2b-256 cb0d2a621f4b63eb60180f06d0b984f068f4b7fb75d2439071b4b9c19fdbec6d

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 325bc4610604e82f5e6633f08e460ee04f33f3db8c2cc69c5627f442a5fb9fc7
MD5 e62dc1a6d1269bb5a148b81737419213
BLAKE2b-256 7889fc8002e06df107774b9920a9b197e67146f6893d525a5b15fd6d8a9f2554

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 1b3aab7e1d41d9d3c616e2f6f3341e10a220a77bb26d66d9b6e0e6c0989e8b31
MD5 04046e14f54912c090fc42fb529862a3
BLAKE2b-256 1f2faa530f903e3068dd56dd617188655eaa3b3bd624eaa217d4de134724e243

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1fc27202db7e609048ef2ac8c6bbf8d84b10f3cd95bb90c094e36339ac34e188
MD5 f21b98da111a0b40c9c95bce419fbf21
BLAKE2b-256 c5a7fc53e776a13af61e00df03a654ada3ebb94d6c1a38fa15accb319a36161b

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 acedd3089b599e38b4434db3203d49f8d6831514236fcb60cdd8585551ed0e84
MD5 988bc8609b61d96dcfafdcead53171c5
BLAKE2b-256 71c7973e764b2a50352cb284f2ad221860b621283bac9a2c48ff323096032548

See more details on using hashes here.

Provenance

File details

Details for the file polars_hash-0.4.7-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for polars_hash-0.4.7-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4f2acd7173f3dad70a70a1b1aa0207ee79d49152a6c89a0bef7853d9f5fa1381
MD5 3a9e7ef1e5a927be159aecad93802378
BLAKE2b-256 7ab7f0fbdfadcce51d97b006f6dd4c3e2c6e767a87938b098233b0ad666da4ac

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page