Skip to main content

Fast Hamming distance calculation for hexadecimal strings

Project description

Pip Prs Github

What does it do?

This module performs a fast bitwise hamming distance of two hexadecimal strings.

This looks like:

DEADBEEF = 11011110101011011011111011101111
00000000 = 00000000000000000000000000000000
XOR      = 11011110101011011011111011101111
Hamming  = number of ones in DEADBEEF ^ 00000000 = 24

This essentially amounts to

>>> import gmpy
>>> gmpy.popcount(0xdeadbeef ^ 0x00000000)
24

except with Python strings, so

>>> import gmpy
>>> gmpy.popcount(int("deadbeef", 16) ^ int("00000000", 16))
24

A few assumptions are made and enforced:

  • this is a valid hexadecimal string (i.e., [a-fA-F0-9]+)

  • the strings are the same length

  • the strings do not begin with "0x"

Why yet another Hamming distance library?

There are a lot of fantastic (python) libraries that offer methods to calculate various edit distances, including Hamming distances: Distance, textdistance, scipy, jellyfish, etc.

In this case, I needed a hamming distance library that worked on hexadecimal strings (i.e., a Python str) and performed blazingly fast. Furthermore, I often did not care about hex strings greater than 256 bits. That length constraint is different vs all the other libraries and enabled me to explore vectorization techniques via numba, numpy, and SSE/AVX intrinsics.

Lastly, I wanted to minimize dependencies, meaning you do not need to install numpy, gmpy, cython, pypy, pythran, etc.

Eventually, after playing around with gmpy.popcount, numba.jit, pythran.run, numpy, I decided to write what I wanted in essentially raw C. At this point, I’m using raw char* and int*, so exploring re-writing this in Fortran makes little sense.

Installation

To install, ensure you have Python 3.6+. Run

pip install hexhamming

or to install from source

git clone https://github.com/mrecachinas/hexhamming
cd hexhamming
python setup.py install # or pip install .

If you want to contribute to hexhamming, you should install the dev dependencies

pip install -r requirements-dev.txt

and make sure the tests pass with

python -m pytest -vls .

Example

Using hexhamming is as simple as

>>> from hexhamming import hamming_distance_string
>>> hamming_distance_string("deadbeef", "00000000")
24

New in v2.0.0 : hexhamming now supports byte``s via ``hamming_distance_bytes. You use it in the exact same way as before, except you pass in a byte string.

>>> from hexhamming import hamming_distance_bytes
>>> hamming_distance_bytes(b"\xde\xad\xbe\xef", b"\x00\x00\x00\x00")
24

We also provide a method for a quick boolean check of whether two hexadecimal strings are within a given Hamming distance.

>>> from hexhamming import check_hexstrings_within_dist
>>> check_hexstrings_within_dist("ffff", "fffe", 2)
True
>>> check_hexstrings_within_dist("ffff", "0000", 2)
False

Similarly, hexhamming supports byte arrays via check_bytes_arrays_within_dist, which has a similar API as check_hexstrings_within_dist, except it expects a byte array. Additionally, it will check if any element of a byte array is within a specified Hamming Distance of another byte array.

Benchmark

Below is a benchmark using pytest-benchmark with hexhamming==v1.3.2 my 2020 2.0 GHz quad-core Intel Core i5 16 GB 3733 MHz LPDDR4 macOS Catalina (10.15.5) with Python 3.7.3 and Apple clang version 11.0.3 (clang-1103.0.32.62).

Name

Mean (ns)

Std (ns)

Median (ns)

Rounds

Iterations

test_hamming_distance_bench_3

93.8

10.5

94.3

53268

200

test_hamming_distance_bench_3_same

94.2

15.2

94.9

102146

100

test_check_hexstrings_within_dist_bench

231.9

104.2

216.5

195122

22

test_hamming_distance_bench_256

97.5

34.1

94.0

195122

22

test_hamming_distance_bench_1000

489.8

159.4

477.5

94411

20

test_hamming_distance_bench_1000_same

497.8

87.8

496.6

18971

20

test_hamming_distance_bench_1024

509.9

299.5

506.7

18652

10

test_hamming_distance_bench_1024_same

467.4

205.9

450.4

181819

10

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

hexhamming-2.3.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distributions

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

hexhamming-2.3.1-cp313-cp313-win_amd64.whl (14.1 kB view details)

Uploaded CPython 3.13Windows x86-64

hexhamming-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl (41.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

hexhamming-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl (27.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

hexhamming-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (31.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hexhamming-2.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (45.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

hexhamming-2.3.1-cp313-cp313-macosx_11_0_arm64.whl (10.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

hexhamming-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl (10.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

hexhamming-2.3.1-cp312-cp312-win_amd64.whl (14.1 kB view details)

Uploaded CPython 3.12Windows x86-64

hexhamming-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl (41.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

hexhamming-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl (27.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

hexhamming-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (28.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hexhamming-2.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (42.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

hexhamming-2.3.1-cp312-cp312-macosx_11_0_arm64.whl (10.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

hexhamming-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl (10.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

hexhamming-2.3.1-cp311-cp311-win_amd64.whl (14.1 kB view details)

Uploaded CPython 3.11Windows x86-64

hexhamming-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl (41.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

hexhamming-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl (27.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

hexhamming-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (29.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hexhamming-2.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (42.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

hexhamming-2.3.1-cp311-cp311-macosx_11_0_arm64.whl (10.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

hexhamming-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl (10.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

hexhamming-2.3.1-cp310-cp310-win_amd64.whl (14.0 kB view details)

Uploaded CPython 3.10Windows x86-64

hexhamming-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl (40.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

hexhamming-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl (27.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

hexhamming-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (28.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

hexhamming-2.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (41.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

hexhamming-2.3.1-cp310-cp310-macosx_11_0_arm64.whl (10.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

hexhamming-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl (10.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file hexhamming-2.3.1.tar.gz.

File metadata

  • Download URL: hexhamming-2.3.1.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hexhamming-2.3.1.tar.gz
Algorithm Hash digest
SHA256 7d98a4dbef409c6b46f983a3835eaae1a6c10d2d23493c22f536f01d32455bf8
MD5 93c3a73d74b3a515ec37efe14bb594b5
BLAKE2b-256 c97d95561d4333954c8dca729ab2fb41268298f825cd1a71713d8ca89e0cfff1

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: hexhamming-2.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hexhamming-2.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c610fd5072bdaecb2e0894ffd041b8bd4f76ad7ccf019347d5c70e4bb2186ca0
MD5 ec41b8917164a746d256726c7c1972d9
BLAKE2b-256 7a6e95af20c380f750a33ecc087c2ee1c2485df8d631feb7b10b9de7e2ce33ca

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2f1347d8b777391985644eda801f7f854b975d9554ef626922ac22f9e066f982
MD5 4a4b0d88b98de996731b42217f242fcd
BLAKE2b-256 0eea4ec4cd60b8620b1243e6648ff9642a3d57727b54353479ff58f225c265ce

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f35bbbfd0f6ded7c7a82b0f88abe589a0170529b6f3c898e76261cc23f1951ca
MD5 8cc41f2d1d8938de5f8aa6897a91d8c3
BLAKE2b-256 c48793dbc951df1ac3f2c5565526c093722f189d76eafa1ed3fb7f4be3b69cd8

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f5bd0a869f949e08b6e9a18e62ddbe63d312c0083c6a95d1f2db89614db5a35a
MD5 ab52a0a5a515397308be93290eadc282
BLAKE2b-256 81367420f2649041928bd8ede871dc4f5ac332e9b764b09ca0ed4c2d9d73bfb6

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 9a65cdae6ecdb7c391ee4dc2eb544d9f545f606672d3a98df095bd97af05aa7d
MD5 c80f83b1beaa578ad54483066a050271
BLAKE2b-256 12319d54223dc887af55c82b936e5148d7627726b79a43507e9580371ade6ddf

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 253e5e5560de2010d7dc2c960ef534d5a68bd4fd372f8a003113d05d6e6ba7a3
MD5 80f8a4749286f8a366eabc0b3bff0afd
BLAKE2b-256 6e366b80d799bcf57c477b4cda995b65adbad0304d403b6e4ec9bea12a85575f

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 19ad560c255c33410c0f32c2079eb0377c28476d54e9a981ac97bed54ad463a7
MD5 27b1b71982ee86751cfe212746352089
BLAKE2b-256 f166047f46f434175cf04866a127d88b319705af7120a0290c1074f997615cdb

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: hexhamming-2.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hexhamming-2.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4a7779a337602665872d67e64a6767b75b84e5e4d21f577be38246ae4042f030
MD5 0085476e703d5175af2b7b5b8daf8bfc
BLAKE2b-256 c6908e399fa3d5574d3f0d000f1df201753d15016b2f844e513d25872c087dfd

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6c09424ba2bf2f8f6d7cf0218068a6ef67b5c233aaf3122ecac2d0eee881b058
MD5 b047dabefe384cb96f6c34092fba07ce
BLAKE2b-256 28b0b7d85ab3ebcf64d61fba862304a74bea746d89eb48f9218dcb31faeddfbc

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9271e8117884dfd660d291af0962ce7e24a17426bd0e352399d10679826e6dd0
MD5 a6c90071d9e28d096d28c4fcaa9f70fe
BLAKE2b-256 3b43996692a8e8f577d2ee966500b6be90ad7ffd5670c85e4c8fbb7b602c81a6

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f48152ded2b78e8c221932f377330edab85d358677682a0ddccf8887de340060
MD5 17854cb20d65d344a771141bee94a806
BLAKE2b-256 3c41e52029c3401993f1757a48a42d07382cfb15ed58fd7a12f377f947ce1ecd

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4034075e1e74e84792b35fe02265180e8706b8b6adabd5692d109e14b767c55e
MD5 9447391f6c3e6faae1b76720304604cf
BLAKE2b-256 84e602e8f61ea79a1a4b43bb96560e4d0140d0a79dc85b0f18a2b0cd10ae737a

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb490ff1e5a037d0aab407fbcff2133bf7f2628548aecc440818e7573814c4b8
MD5 62e92d9ccf5bbb3e5b27d25221a94a8f
BLAKE2b-256 f68b6d0d201afeeb3f36e94ca4b74e932949f107e981a1f845e26a2a0e0c9abe

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 89a6e9971cc891c0b6f204e7650865beab7439f2e5d19ac25f19473fd2b169ea
MD5 b7cc3e376a88ed5650f5d70f931e9f11
BLAKE2b-256 314fd1e934035217a81c06a062a542394d5de4cdc154e6ad19f2724015c9a969

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: hexhamming-2.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hexhamming-2.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b947168069dfd6958eb09604f4526910d3184369081e432b8e54b4bf8711d414
MD5 5695b34e9279cb7028ca32a8018ade70
BLAKE2b-256 294047cf3b140d49c4f14032c376c81c1ee04b1d2ed763df156c9bb32fcfceb8

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2165eaef445cffeba12114f077c9961212252ded8df53afb7e4f4868cef82255
MD5 d7e6ebbc17d6a6c225913b4d9468be19
BLAKE2b-256 3b7d34691c56b71d18678da8fac61e6868f85407cd9f748c0c100d6c1e16d1ff

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 062273de917bfd45a6c4241a018cf1b76d734daeb5978a7178b8aef3a19a5e13
MD5 1712942c69ea39b52d02e2c815f8a432
BLAKE2b-256 a7c12439cf57a41b515e8d078fbe06d2ff81ed85a836f08df766bacbdaaedb18

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a28bbef8c6582f82faa4a7a3343597176c5bde0167af556284d44f196f0240a
MD5 9560aaf72ec51df09dbebd6a68e39f7f
BLAKE2b-256 f8b8e0bb33b6fe16c6339dbc9af7d1369469ca4ffb2e9ca11d3ad50e64936a66

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 de171a59a21d563b87d7f6a2d673e46a0d0eac263b8ca06c4b5e48fa7b14d079
MD5 3f6ff3fc9f3ae101b530f1c60ba21141
BLAKE2b-256 07045e02ab620a28b7eef76104dadb3f8d15d9ac440edea0f9a3720ef8ba04fb

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1dd780968521a816cf2f9564999d88145ac70013afefe973b9a07b1c4a53a721
MD5 527b7580a86275b415078e7f034bc722
BLAKE2b-256 f7f9d8aba77ae698d3b28fabe518fde2caea9e681c115a3e858d80fcb82c3de9

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f9630a687ea0bcbec822fc3f6a3fd2d6185b05ff786e640402dd40c093033ab
MD5 63874ffc5a16353edd9f4fb4e21da1e0
BLAKE2b-256 2e573ca7e5c0624a4b537a78828c41b956e40f0c4ec0a81d65a736976e9d7ec5

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: hexhamming-2.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hexhamming-2.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 44e475af47b95ae928da22d59080d31189bdb5de34de6df32b4a2bf74564a964
MD5 d9eb6630bd9a2573e5104c1c2606c90f
BLAKE2b-256 a952fd2f2672fbd386b6d576771828c59766a4e95f33e97324ae13a83b9c2176

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bf3361b2cfa8d13ea36652c517b1fc8049cb8b45f5c6d4fdbd6acbf37e4229e8
MD5 ff27d8135e5e267c9454fd1db96e4fe0
BLAKE2b-256 62925894e6400ff6db8563ef7622f8c5ee088f818e8ba14f871eb5d90d463629

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c67820d9aa2ef4b708ec390b5eb913f5e469854e05b30ed0925fcb20a939eaee
MD5 cf287f05d94d9f3a5e139d8697c3d76f
BLAKE2b-256 60b29a0e21692225161aeb540098def3af2e3c53a959afde3be01f0c3dbc2a1f

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d4d31b429a9a6bff32bce433e9b5ef3ab982a3116d1cf9ee3506fff390e63cac
MD5 d93683104beb4fa71f20044272df0efb
BLAKE2b-256 a88e7c9e9bd4edb5fb111a3e5970d83b957325a34f8914eb3abcc9a4d984391b

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1c5a9ff9e87b1fb808aed3a3d87492eb09dab55226919d2af4c9c49515c2109a
MD5 9076e7cfba6f80976f36fcaf2874cca1
BLAKE2b-256 1d8307a6724f3a5d33612d3714d05d4dc4469f5654ddd199e4d7fc2e52dcced5

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0c20d17a39b96fbce2425a7d006a02ec1676d69f997591b254980fbee9a51fd
MD5 0ef87be001b1d17491e842f295486c8c
BLAKE2b-256 adb1484ca3b225ba24ebf1c2b61f1e3c2aee49b68b3f8e086ed9caf705089255

See more details on using hashes here.

File details

Details for the file hexhamming-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hexhamming-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e19ec52ef9b0e27ff1b2b1f042710a5f8a695411d6080f8ce476b10f53cbf8cc
MD5 2a40155ef4ec4980fc4801e86d840d30
BLAKE2b-256 7c72f9a9c67ee4d30feea3f17b749be688bc883ae2576a7f772a2aec140cec6a

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