Skip to main content

Very fast, constant memory-footprint cardinality approximation, including intersection

Project description

Hyperminhash for Python

Docs PyPI

Very fast, constant memory-footprint cardinality approximation, including intersection and union operation.

The class Sketch can be used to count unique elements that were encountered during the instance's lifetime. Unlike e.g. when using a set, the memory consumed by the Sketch-instance does not grow as elements are added; each Sketch-instance consumes approximately 32kb of memory, independent of the number of elements.

# Basic usage

# Construct an empty Sketch
sk = pyhyperminhash.Sketch()
assert not sk  # The Sketch is empty
sk.add('Foo')  # Add elements
sk.add('Bar')
sk.add(42)
assert sk  # The Sketch is not empty
assert float(sk) == sk.cardinality()  # Approximately 3.0
assert int(sk) == len(sk)  # Approximately 3
# Sketches can be combined...

sk2 = pyhyperminhash.Sketch()
sk2.add('Foobar')
sk2 &= sk  # sk2 now holds all elements that were in `sk` or `sk2`

sk3 = pyhyperminhash.Sketch()
sk3.add(42)
sk3.add('Foo')
assert sk3.intersection(sk1) > 0.0  # Approximately 1.0, due to `Foo`
# Sketches can be stored for later use

buf = sk.save()  # Serialize the Sketch into a bytes-buffer
new_sk = pyhyperminhash.Sketch.load(buf)  # Deserialize a Sketch
assert len(new_sk) == len(sk)
# Sketches can be constructed from iterators directly, which avoids
# materializing all objects simultaneously.

# This is also faster than adding elements one by one.
sk = pyhyperminhash.Sketch.from_iter(iter(range(100)))

# Read all lines; uses binary mode to avoid Unicode encoding+decoding
with open('complaints.txt', 'rb') as f:
    sk = pyhyperminhash.Sketch.from_iter(f)

# Add an entire file-like object
with open('complaints.txt', 'rb') as f:
    sk.add_reader(f)
# Entry-objects can be used to construct what represents a single
# object from multiple parts. They consume very little memory.

# Add sub-objects that don't fit into memory
e = pyhyperminhash.Entry()
with open('complaints.txt', 'rb') as f:
    e.add(f.read(4096))  # Add two parts to this Entry
    e.add(f.read(4096))
    sk.add_entry(e)  # This counts as one object

sk1.add_entry(e)  # Entry-objects can be added to mulitple Sketches

# Entry-objects can be "forked" at the state they are currently at
e2 = e.fork()
e2.add("Foo")
sk.add_entry(e2)  # This is a new object in `Sketch`...

e3 = e.fork()
e3.add("Bar")
sk.add_entry(e3)  # So is this, without re-computing `e`

It is very much preferred to provide bytes to Sketch.add() and Entry.add(), in order to avoid double-hashing the content. Also, notice that the Python interpreter probably randomizes hash-values at interpreter-startup (in order to prevent certain kinds of DOS-attacks). The randomness introduced here means that the count-approximation provided by this package may not be stable from run to run.

See the documentation for the underlying implementation for additional information.

Usage as a sqlite3 aggregate function

class PyHyperminhashCounter:
    def __init__(self):
        self.sk = pyhyperminhash.Sketch()

    def step(self, *args) -> None:
        self.sk += args

    def finalize(self) -> int:
        return int(self.sk)


con = sqlite3.connect(":memory:")
# Create the function for the current connection
con.create_aggregate("pyhmh", -1, PyHyperminhashCounter)

# Some dummy data
cur = con.execute("CREATE TABLE test(i, j)")
cur.executemany("INSERT INTO test(i, j) VALUES(?, ?)",
                ((f'foo{i % 4291}bar', i % 819)
                 for i in range(1000000)))

# Returns exactly 502047
cur.execute("SELECT COUNT(*) FROM (SELECT DISTINCT i, j FROM test)")
print(cur.fetchone()[0])

# Returns approximately 500000, but faster
cur.execute("SELECT pyhmh(i, j) FROM test")
print(cur.fetchone()[0])

Performance examples

Reading a file of 50 million lines, ~1,000,000 unique elements, 20 characters per line.

Method Wall-clock time Memory consumed Count
Count lines 2.3 seconds nil 50,000,000
set() 14.99 seconds ~144 megabytes 1,048,576
Sketch.from_iter() 1.8 seconds ~32 kilobytes 1,041,936

FAQ

  • Can I extract an element that was previously added from a Sketch?
    • No.
  • Can I check if an element has previously been added to a Sketch?
    • No.
  • Wow, why use this, then?
    • It's very fast at counting unique things. And it does not use much memory.

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

pyhyperminhash-0.1.5.tar.gz (16.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyhyperminhash-0.1.5-cp313-cp313t-win_amd64.whl (158.3 kB view details)

Uploaded CPython 3.13tWindows x86-64

pyhyperminhash-0.1.5-cp313-cp313t-win32.whl (151.8 kB view details)

Uploaded CPython 3.13tWindows x86

pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_x86_64.whl (464.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_i686.whl (498.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_armv7l.whl (527.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_aarch64.whl (426.5 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (250.3 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (282.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (281.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (256.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (243.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl (278.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.5+ i686

pyhyperminhash-0.1.5-cp313-cp313t-macosx_11_0_arm64.whl (226.7 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

pyhyperminhash-0.1.5-cp313-cp313t-macosx_10_12_x86_64.whl (235.7 kB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

pyhyperminhash-0.1.5-cp39-abi3-win_amd64.whl (163.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

pyhyperminhash-0.1.5-cp39-abi3-win32.whl (158.0 kB view details)

Uploaded CPython 3.9+Windows x86

pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl (468.2 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_i686.whl (502.2 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_armv7l.whl (530.7 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl (430.1 kB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.8 kB view details)

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

pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (287.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ s390x

pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (286.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ppc64le

pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (258.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (246.5 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl (282.2 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.5+ i686

pyhyperminhash-0.1.5-cp39-abi3-macosx_11_0_arm64.whl (230.7 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

pyhyperminhash-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl (240.1 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file pyhyperminhash-0.1.5.tar.gz.

File metadata

  • Download URL: pyhyperminhash-0.1.5.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for pyhyperminhash-0.1.5.tar.gz
Algorithm Hash digest
SHA256 a7d5356dcbc6be7d9d0495470188881f5d8f9d80d61ad46a3069188e8b906256
MD5 664f4f4d9082b6050e8314014842ef2b
BLAKE2b-256 939d146869412e1aba91a3bf5a0540d9fc6544175fb734ce86046a1e5f11015d

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-win_amd64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 4cefc3ca366b8ca3e07a8bae0c313de6e7eb319bbe1b63f419bb7b14b2e38b09
MD5 66e8cb9919db5be4004b9415e2a5462d
BLAKE2b-256 d25365ecc1fb20093f6ce182843ef6e8cce997e5c9c228069fe9812a34ac5bc5

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-win32.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 486f313bea0c62d20c5d18a5939e19c9b4117e71894b1c92da4806435d251022
MD5 267474b433c7bb6404691bd368722dc5
BLAKE2b-256 c4357c917d23d0531312863b782a950d8cbe9a6fffd8a76983e1cdce8c99463e

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 641e48811b802e59b0e699009cf57fb40d6346dbf0d55aaebd568031781b8aeb
MD5 f3cddcf485ba581bfd0d3d38d601020b
BLAKE2b-256 533920b829aab92d4158d770d3151ac595b53eaee4f18b7696155225bdccdfca

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6eb5faac0c3cf599a2b85171548ed32c7a85d8654acfc84abd419c0b3bc20144
MD5 b98b62518deff41e4b2519d335661690
BLAKE2b-256 d1a822b0f3a3cd05095da751eb03333dd4ce49679438e235babf42f94592595c

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9590864e7da5f7a30b0a40cfed624a54c667117cd1af9acdf198e0cb10beeb28
MD5 95e7d81363fef743ff1e6397553c9fb2
BLAKE2b-256 6178b6e713eada18c91b7be9f4b323e6c7461698e5a9ccb4ba7c8894aaea58f4

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 20527a485a13584e01f9c6c903390552a3ef328fe75ccc9f9526e26f53058a62
MD5 79dc9273cf12ddf3d654361150069bfd
BLAKE2b-256 5e8b0873d070150b2e56fcc4b3c6868c73b5e9c0260b2aca409da02c36449a7c

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9f9910239b9ba6ab80a4809d553277a657bbf33e79cf13b6bdc89b5c1b2bdc0
MD5 711afe409fe6fbdd2b1c99e5d34af571
BLAKE2b-256 ebc88d1c1f61dd778afbc183a77986cf50f226182298fda5c63ae7662039f2d8

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 efcb87854488f9d25e439f90c4c1afe05080c74aee76932dd431e21772045942
MD5 e746a91f28e885f7ee648686ed48c6c8
BLAKE2b-256 96adcab3fce8601df9f96653f79bdbc30669a1abad1db42ae29b6d5f735aaf73

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 681efdb1cc5c2d6803b7233caaec568d3dff5c0701271f7932da70cbe161283e
MD5 f96c9decd04ca89fc41e7fb36155fb61
BLAKE2b-256 d72c6b13dee8b26480dec256cb2bba1a1d8bd49b2d7c3bf25057840f37ec59ae

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 98b5a47266f2f99dea2537d4a28c90814297e2afd3834c91460428527fc34661
MD5 853262cd2052533c6c50448e192d6ea0
BLAKE2b-256 02c4cd3b4ad6d76e330a83f42a310ec8249b78530008a1092cc154c73a790974

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ad7bbdcf017cb72fc5dfc3a98609c2bd23903a64543191ce62550e2223ae6c98
MD5 bfe89b90e546e4a902aa2188cd5a490f
BLAKE2b-256 98369e3f64ad204d65b0164d52c1b15ccf7f20a8f5a06de69cb4a74c5515f177

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ce838046130fc37c3f3e1efac305941b9cd64b745ab21bf168f4aef91617586a
MD5 cafd8b6a038b7c0c243b3548fcdb31a2
BLAKE2b-256 ccab6cf673b30f16c317c835b9994449762fce33aae5bbcf9d7b11e7dff3d5e3

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab54104ea2a79f6a8bab1107723dee45d9f2387bda2a29c6e48dc3721d44882f
MD5 b78a8212338aadc1036286ed0f031758
BLAKE2b-256 0fd11d00b485a433d1b5ed9dc6e0e8ebb2063d8d870d70be650257f0fd03ff50

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3545d884ba0dce02d974fb30af7cdf747d22021982372d324977c949cb4c1d69
MD5 17104b036bb6d2ad8bcccaf024fad56b
BLAKE2b-256 6bcf969d83508af8950109ea51a0c7d4d3b63b53f4cadcc34f579d9c39d28811

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e211f23a04fb9229e1ea6a3ebeab936a2e97bb2b84a4b3936b3d590e2727fc84
MD5 2e49d246752536a535c7a470c8bd3f8e
BLAKE2b-256 fe216bc1190212a653924100a6c7eba184d57faa9f2c53ac9ea28438c506d922

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-win32.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 3dd71aa4fe237099d57adb6e17f56cc79725546fa793d81b18a549d4f3653016
MD5 1932d28cebaa804a2746dfe401c5c5e2
BLAKE2b-256 56fc82bd059fcb5be9a397db579560a81bac7a68f03e9c3812c4ad7ed4297ccf

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 15726a6a937477c6aefe670aa173794d4c6bb2a8b15b994c6136c4bfc84bc73f
MD5 140f0a9c100b2ef5dfe73923838bc061
BLAKE2b-256 eca4cd0aa22898110ffcc5c9fb15f531a3c9df14598e44f92a4c5a9c8ead4e53

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 38104890ef2c01fdd02cf299d4477a180b779d345ab0e4782feae4ad7c9886cf
MD5 572330a630958cbd674c1bbf83de9b75
BLAKE2b-256 a58e2aaadafe8e52e281657f94f31804edbdc128f4d2f754e0e0fc8b11947484

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 846126b4a2f977c701afb90579f4269cb60a0f24163f2ec5ddb958677d17de2f
MD5 b37910b599e9f631723085757d86788a
BLAKE2b-256 c285b07adb6f8e3cab13ee65b1cc025ef91c6f7734e5120547e1d6b1f0df375e

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bcae47331e4694510d38f38373ad48eb55b72186ff9e13eeafdb9e0b12f31b11
MD5 cf04bf72c77906b1223709b6c0d88b59
BLAKE2b-256 adfb6cdbb46c507115581b091e9f1ccbd8f5819abde986bb6e1acf4f5091d646

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6e37a9d715c7e753999a6d326d84f25ffdee709b23d537ecd748f17abfdff84
MD5 43c909974d3f13e379fad26518ba141d
BLAKE2b-256 e395226ec9419fa19b293dfc0b05143c5b7062902c54ec250353a2bdfe7414d4

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 38c79ddd1391efaed6028c747a5d8274d209a3a9389ce8264598e5ce3d4b322e
MD5 2b34501795156a6cebf1ba9c29949a83
BLAKE2b-256 522318ddcc9ea5b340165653e6d785f057a6d6ba8584a05fc7a2e043ecb32238

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a02abdc9c5175b592399a327e6b6ef34df3876dad55a062d570e277f6823351b
MD5 0bc18bd4561c2c068c1f57eb6b5431f0
BLAKE2b-256 322136e809cb9d80f357dac2bc2e095d6def3a9306edac010bbff3d543f2e71e

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ef9617b25b1f19b1d74a85f2b3fe4b613fa2ec36ebda8b3bc10f2802ea75e402
MD5 85c28d75e2bc9bb4d2fac5e3267d6531
BLAKE2b-256 1a8051a1a7dd3cf1df5f12058e5d01e19b621362d625b033e5dce54dc45b7a59

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 225b0a9ab1b77b7dd43c5a8c8d8b781083f2862ad2a96283df02053653fd318e
MD5 e76754beac04775996a5354bc798f755
BLAKE2b-256 edc64f9e5b66e3b9b70caf6cc9a1551b414bb57d0e526277621d2548ffbd6440

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 c6310509d495f9f31694583f1ec45da995a883b08aa66068d230d13ce9682e84
MD5 83a1d29fafb297574bc59a53f2db61f1
BLAKE2b-256 5821f89c4b9eba6cc8a06464cbbf28b4a8e269627847075c8f61c4e93d4d13b0

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8f407c38371fe161e2f6211d6ad1eaf7cb070d82ac80f6238f9b3b19fdfbc8d
MD5 7a69c81e1f08c04d0d7410f312c3161e
BLAKE2b-256 a101b918300a23b6d707138507aebe4b190850acdb106dabaea10bcf41b50c1e

See more details on using hashes here.

File details

Details for the file pyhyperminhash-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyhyperminhash-0.1.5-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf0ab94e3a627f4e26e7d48fde21d70448d5833470697211e56aca141eb67601
MD5 20e82f1e64ef6118a1a3cd8c9b9f1411
BLAKE2b-256 c759a12433c0b699b168030aa5d658f0393ff86b8d223dcd970dc409de23f5da

See more details on using hashes here.

Supported by

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