A fast tool to calculate Hamming distances
Project description
A small and fast C++ tool to calculate pairwise distances between gene sequences given in fasta format.
Python interface
To use the Python interface, you should install it from PyPI:
python -m pip install hammingdist
Distances matrix
Then, you can e.g. use it in the following way from Python:
import hammingdist
# To see the different optional arguments available:
help(hammingdist.from_fasta)
# To import all sequences from a fasta file
data = hammingdist.from_fasta("example.fasta")
# To import only the first 100 sequences from a fasta file
data = hammingdist.from_fasta("example.fasta", n=100)
# To import all sequences and remove any duplicates
data = hammingdist.from_fasta("example.fasta", remove_duplicates=True)
# To import all sequences from a fasta file, also treating 'X' as a valid character
data = hammingdist.from_fasta("example.fasta", include_x=True)
# The distance data can be accessed point-wise, though looping over all distances might be quite inefficient
print(data[14,42])
# The data can be written to disk in csv format (default `distance` Ripser format) and retrieved:
data.dump("backup.csv")
retrieval = hammingdist.from_csv("backup.csv")
# It can also be written in lower triangular format (comma-delimited row-major, `lower-distance` Ripser format):
data.dump_lower_triangular("lt.txt")
retrieval = hammingdist.from_lower_triangular("lt.txt")
# If the `remove_duplicates` option was used, the sequence indices can also be written.
# For each input sequence, this prints the corresponding index in the output:
data.dump_sequence_indices("indices.txt")
# Finally, we can pass the data as a list of strings in Python:
data = hammingdist.from_stringlist(["ACGTACGT", "ACGTAGGT", "ATTTACGT"])
Duplicates
When from_fasta
is called with the option remove_duplicates=True
, duplicate sequences are removed before constructing the differences matrix.
For example given this set of three input sequences:
Index | Sequence |
---|---|
0 | ACG |
1 | ACG |
2 | TAG |
The distances matrix would be a 2x2 matrix of distances between ACG
and TAG
:
ACG | TAG | |
---|---|---|
ACG | 0 | 2 |
TAG | 2 | 0 |
The row of the distances matrix corresponding to each index in the original sequence would be:
Index | Sequence | Row in distances matrix |
---|---|---|
0 | ACG | 0 |
1 | ACG | 0 |
2 | TAT | 1 |
This last column is what is written to disk by DataSet.dump_sequence_indices
.
It can also be constructed (as a numpy array) without calculating the distances matrix by using hammingdist.fasta_sequence_indices
import hammingdist
sequence_indices = hammingdist.fasta_sequence_indices(fasta_file)
Maximum distance values
By default, the elements in the distances matrix returned by hammingdist.from_fasta
have a maximum value of 255.
You can also set a smaller maximum value using the max_distance
argument.
For distances larger than this hammingdist.from_fasta_large
supports distances up to 65535 (but uses twice as much RAM)
Distances from reference sequence
The distance of each sequence in a fasta file from a given reference sequence can be calculated using:
import hammingdist
distances = hammingdist.fasta_reference_distances(sequence, fasta_file, include_x=True)
This function returns a numpy array that contains the distance of each sequence from the reference sequence.
You can also calculate the distance between two individual sequences:
import hammingdist
distance = hammingdist.distance("ACGTX", "AAGTX", include_x=True)
OpenMP on linux
On linux hammingdist is built with OpenMP (multithreading) support, and will automatically make use of all available CPU threads.
CUDA on linux
On linux hammingdist is also built with CUDA (Nvidia GPU) support.
To use the GPU instead of the CPU, set use_gpu=True
when calling from_fasta
. Here we also set the maximum distance to 2:
import hammingdist
data = hammingdist.from_fasta("example.fasta", use_gpu=True, max_distance=2)
Additionally, the lower triangular matrix file can now be directly constructed from the fasta file
using the GPU with the from_fasta_to_lower_triangular
function.
This avoids storing the entire distances matrix in memory and interleaves computation on the GPU with disk I/O on the CPU,
which means it requires less RAM and runs faster.
import hammingdist
hammingdist.from_fasta_to_lower_triangular('input_fasta.txt', 'output_lower_triangular.txt', use_gpu=True, max_distance=2)
Performance history
A rough measure of the impact of the different performance improvements in hammingdist:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for hammingdist-1.1.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3110b713260789deb2fd62a87d62ef77b31ad7eb37b370f36b3f37c7cbdd882 |
|
MD5 | 14e73b325ce1d1327fcf4dfee8deb721 |
|
BLAKE2b-256 | a6f3fd367711e81f6aed79f12636699a29fd0bf001798b90ef2ba00760e9127a |
Hashes for hammingdist-1.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c606e7110c21b6824079c4e540cb25a0053565a0ba55b66f316df1ed1bac2c3 |
|
MD5 | 7f4c00f205e7897359aa9c3e8642fcb5 |
|
BLAKE2b-256 | 93ed02b57ac0cb6b95b253831f6533b7d3570195ccbf55edb960c014f7fe2142 |
Hashes for hammingdist-1.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f265b36e03ba8cfd2350388682f685ab832e3610e88b19b122b6e233b1ec777 |
|
MD5 | 627c2912743e7e586faebf3216ec923f |
|
BLAKE2b-256 | 03f3f8e64d8b58f37ecb00ec038c5dfac52c0376c604eb0c6d24c77924c675ce |
Hashes for hammingdist-1.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0d388251494e64cf5c6c7712b6cba99cd1cea62f0b647fc2e94bc7ccf114568 |
|
MD5 | a0d6f0c34fbea13e73667b88dfe85d60 |
|
BLAKE2b-256 | 938f489e68bd66f55da789cba44e00759f3da591e1225439667ffae1ad39460f |
Hashes for hammingdist-1.1.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1029f21863d01349c432386a12ad7b3971d2b7eb5724a07f26f43d289827fd04 |
|
MD5 | 8f48f35338a2f58202309364dbfb86f8 |
|
BLAKE2b-256 | ad452afe77e1ca66d4361d170f5e8aecdc5aba5d296ef5f23747660afb953361 |
Hashes for hammingdist-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2720105686a4842bb2f9aeb08e07896b617b0cc299d0d398cd29f967d7061353 |
|
MD5 | 8715b620000ffef2c433d92f0fdcb6b6 |
|
BLAKE2b-256 | 2141126d831b2996143a32227b9a253d420ba494430b277a0b8a9a69c555448a |
Hashes for hammingdist-1.1.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b665d6677f8d439c73364f4e70f88456ffefb64fcf7802f17043bf600dc285e |
|
MD5 | 988295a6de397c4ec7841c7ea2450064 |
|
BLAKE2b-256 | 05c8774d908d375f9294824f6bdb94e2ac4c1b6581b6bba51263116a0cc7c0cd |
Hashes for hammingdist-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 236f0ac286e964c572f426978298040aaaf5f53a76b430b7899b110d8ee0d202 |
|
MD5 | c5db5caa56b932c393f25a035ccaaa7e |
|
BLAKE2b-256 | aa4ab63b7c024ff36cd59a1442a4932e47d05f1729f3a98e1fc8d622259200a1 |
Hashes for hammingdist-1.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 147206b01d4c76c2f6e5814848358f93b7166801aaa5f218b3583baa50e378d0 |
|
MD5 | 803f070c043678f599bae72cfd0d5923 |
|
BLAKE2b-256 | 205fffea14ba83bcd71296b47f7903a72ba8885f03252c75e04115793dd728dd |
Hashes for hammingdist-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5abde31caf0edfe5c4dbb7e461709f3de5c608d8ffca3e4c4dbf129a02d959d |
|
MD5 | de67b0651db7afbc00ac4d25ef04a742 |
|
BLAKE2b-256 | 324c981ade3dde9331f41d3ce55fd13b13e3bf5610e2e7f063677b9eef476468 |
Hashes for hammingdist-1.1.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54b6b25ebc49b29c68af2ad548416b157ce434776725c23d55b8697cb975c2f3 |
|
MD5 | 38e916c108ff43df93acdc6d546ba0cb |
|
BLAKE2b-256 | 700229255822166c328e5617e4ec2ace029fe8636eaab4a8487a74643bcb109a |
Hashes for hammingdist-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8114835cfb80c0ec01d6d6b5e404ea7e19c73d9865f9d626bd4879f9e7c999a |
|
MD5 | 282bcc732722dd729146aa50817132fa |
|
BLAKE2b-256 | b13959ebb13dc0db6e1efc303df40e29014158a93c52ac8bfb5b52b62b680360 |
Hashes for hammingdist-1.1.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b421675aca4f7181fce76c1ca6c52ba566b7ce754e72ee1dd026941df0dd2ddc |
|
MD5 | 2dc8bcff92222e3ca5266f878ed658a8 |
|
BLAKE2b-256 | 1ec9ff47db566ba07cdd0e1dcd1901076a08c11874cdc406e720d0cba7688a65 |
Hashes for hammingdist-1.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e8ca241fbd9e2a3c6e08cc355737352bc383fa2d6961837b807c007e2704d7 |
|
MD5 | fbb1eb0a49b9ac0e3d2bb3979e5ce0e3 |
|
BLAKE2b-256 | b26ad3b562741e791410ce000137f7c8d91dcecbf09210dca4f7a01a7d7a3b3d |
Hashes for hammingdist-1.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ea1982f3fc544800936d187df5c5ad9dba1a1ffb619b00f389ed266ec0b9748 |
|
MD5 | 533060ec8e6f6b24783095120b7d7eba |
|
BLAKE2b-256 | 1aa08775b66b8bca2aa1da70ee9e8985ffb73a4b90362398707e7bf3a05a2919 |
Hashes for hammingdist-1.1.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8db418dbe4c98d56fff5b7f86815c511c3c3fe65b5a8ef86f5807d7a8e02544 |
|
MD5 | ccf04a604f3cfde6f11ccfb3158e4ea9 |
|
BLAKE2b-256 | e231aa313c672f28bd1a90976867112612a48e16634f39421a3bb21c4fbcd353 |
Hashes for hammingdist-1.1.0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb30ec1e6f6e4f10ce4350966477e335347dfdd6132a37832e173390ef467bd6 |
|
MD5 | 018fbfcbbac9d4e50dfb43182045c1e7 |
|
BLAKE2b-256 | 2f65825c8365bf05814929fbf67614bd5ef5a3cc128e9bc58143cc72a5c6b0cd |
Hashes for hammingdist-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8066fc2911df4763bb6ca90d77ef5a1b2f438dc4a8db284f3d2f96078efe1795 |
|
MD5 | 87b0a1262c5f6ab6526d77015312cac7 |
|
BLAKE2b-256 | a30916c250ae24d15b3a1e872e1f84769166d3d60c5279fe6a051e4a7232af41 |
Hashes for hammingdist-1.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b420dc081326e8ac3f44485e08433707355ce7627e2821c195a73f2c81654ab5 |
|
MD5 | b6b5480c345d9285ab419f9843e51b7e |
|
BLAKE2b-256 | 7dd35433e43494af59918c2c2b485970089adb69ee916465a496e68e1f3f8372 |
Hashes for hammingdist-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56b6515ec9f331ef88d9279fd010219d8610b9da18d2f5a1b5754d725d6214c7 |
|
MD5 | 5dd537b992177ea312249696dfce1bde |
|
BLAKE2b-256 | 2f528355c1de292b402741dbc2e8df1de9cb3029a24a8a77e7040d7951af743f |
Hashes for hammingdist-1.1.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7c4f3a28b2f232d867284c14c4511151f4fff9db98e37847be4469a06686cc7 |
|
MD5 | 0d008afbd09ed58022760041ec9f8a3f |
|
BLAKE2b-256 | 0d3fb646ff966d26f7c9210907f541a2a34bb2d1d4d9d2e86335dfc5a886a84b |
Hashes for hammingdist-1.1.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9c380049eabe5d6875dbe05598d2e34832b70ce2a32bce67405cc44c8217cf2 |
|
MD5 | 2bce9e93faa00a9bde827cdca86ef0fe |
|
BLAKE2b-256 | 58da38e165945812fef347c777af143f5802205d2096f4199090d12867bbba29 |
Hashes for hammingdist-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0b0266ea3bd6d70514c5e0cbf660d4d1e4ced28f2d38cd4ef86d94ca030c574 |
|
MD5 | 8acf377facd92453f65f959e15a693ed |
|
BLAKE2b-256 | 6013d44c1c9f927ffdba05fe9e44324b0479151be431f7bb4a9ba729158a31f7 |
Hashes for hammingdist-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ad794e33c7100f81ac373cae86535898800b9474c0a9c7de6481bba2067fd99 |
|
MD5 | b6bcfe1fa6fb52ade2be58a4c9176057 |
|
BLAKE2b-256 | 8cb873b0ee3e4928f6135ece6d2533ba803b0895df0b9055dc3afac2beb23ab2 |
Hashes for hammingdist-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c999e99473cc747cc61b94f6c5a24c8aaf9ed88f5f51e634a5998725f046fe |
|
MD5 | 115fb7ef8ee0f076630b34a30a360a42 |
|
BLAKE2b-256 | 56ec8e00f8c20b8f0a9cf8bc8e92741d459a9dab7c86e18401684ee1891f9141 |
Hashes for hammingdist-1.1.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 771e2d7adf6bc9ce1e882581a44c1854b94e22112e507323f3d4a3be26ad6a7f |
|
MD5 | ba8a4edcdeaecbfd9b8ea6805459d3f5 |
|
BLAKE2b-256 | b24caccaae199c083cecafd6695ba811de1b691003c579fcc617e8b2d4c07373 |
Hashes for hammingdist-1.1.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2db7f60a91a28f41d1991370d260546f46a4d079535384d82dca65960e4a922e |
|
MD5 | 7a18b19502a4f978604ae44b8a7a2eb3 |
|
BLAKE2b-256 | 434ad792bca6d78d20e3f714fe4fa4d1fd1fdda1a321997b332d924e1a4a5239 |
Hashes for hammingdist-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acca8cfd16d122df55de6178d0214a07f2452369d2f7ad19e33212a1ceeb8b5d |
|
MD5 | 0ef2833a9dc46b1cf975a27eaa830dfb |
|
BLAKE2b-256 | 1412c2ab47909878514534b9eb834eb310a1b5ee1509851fb90b1c7260412ffe |
Hashes for hammingdist-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3c43cc09951596e459b8cd30519648ccf642f11cc20369e406cdf9c33497473 |
|
MD5 | 42cbde23cdd83eea856ae813f5dca30d |
|
BLAKE2b-256 | 50e007aa3ad44e0a761532ff59b665246922141d6e71ac4235857088409c3e99 |
Hashes for hammingdist-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 296cb2a0e6ae9f841fd618ee5f85bc4923f02f5fac7f3a03b049f4739c63e50f |
|
MD5 | 237d35881013912b53eb6e116d2a8c69 |
|
BLAKE2b-256 | 7ee3960e9c6b253602cec9f3af2ad2b450b34792196c3bab47600a143da770b6 |
Hashes for hammingdist-1.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9fb99b18d12b3de76c9a5afab0518a10e57c129e9534bccab6f860281586a1c |
|
MD5 | fc2714daf6318744b3e118a34024879f |
|
BLAKE2b-256 | 80185a28bd11486cf536908ef95606944cc6b8ccd8d74217f9e8f426b3548ab7 |
Hashes for hammingdist-1.1.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 772a235ec259748793881f6530794832b6d7a996b8a0e1b8c835852c9766a47e |
|
MD5 | ad5754581e58a0e17a28d73da10947c2 |
|
BLAKE2b-256 | 14b76aed314e155768c33255bb771c94a4f23385a6ac75a7098308cd4a985110 |
Hashes for hammingdist-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a133a9a2a5c3a90c402c0506b57d4736132c8b6a0a14dc4f6f67cdae77024c05 |
|
MD5 | f12460daf875f5c51cbb9fa3494995cd |
|
BLAKE2b-256 | e48e0c408ae52c438f378fff79b461da2ddf717c7c2f4b996b71111e73cafe09 |
Hashes for hammingdist-1.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62670eb879dedf73cc41267dbef6c55d05dbda86506b397fefa85c2a5481c8d4 |
|
MD5 | eda7118d1bf35177e665c786d1a07868 |
|
BLAKE2b-256 | 260ce4f0aa95c2148d06aa8c69ecc9dcf6b3a3d51766b202ae0de7c88acb6f92 |
Hashes for hammingdist-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 915399248a80febf2db6645ab776b2860f4c87818185a483e2057ce5a5da04e2 |
|
MD5 | d593824d0bb933c0e3d836046d25dc70 |
|
BLAKE2b-256 | c79030b07c79228300f9afe9a190c8aa46e9133fed0fca0614e926fc4b92a943 |
Hashes for hammingdist-1.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83e46add8008b9322a8a31f566a1e858c1b3f41318b9bd3a2d14b16977572088 |
|
MD5 | 3ec3077a4c3cf38555b845445db06813 |
|
BLAKE2b-256 | f92aa8bd932eda6e83f6cc4a1ae2401ad499a8739fbfd2c704ef14d40acfd893 |
Hashes for hammingdist-1.1.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a19aa9b626cba9903ef45bedca00276d2cd46e0140beea430764c27c028e047d |
|
MD5 | 5dc70e1d45b1298ae623d324721ce119 |
|
BLAKE2b-256 | 3735394a3828495556732742189620d81f11edcfcc023cffdce5bc4390e5f15e |
Hashes for hammingdist-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6352576d9ed1054dfcfa6988f65af834fa18f6f8690ebd07e70bc3cb6c32fe7e |
|
MD5 | 9c28a4baf9ca69e7b79894e43a58d8f3 |
|
BLAKE2b-256 | 7835a46a40d39df475e84ed30267fa41c5cb82418ad27a35a07a26db0fe2cd8d |
Hashes for hammingdist-1.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd55fcb73ff165c33a5ea6b77d5966ef2a1debf04443aac7d63be1075af4ecf1 |
|
MD5 | 863d954fe434ff5a93a46a5b6264c0a8 |
|
BLAKE2b-256 | 53ded2d84f89525b70012b4be60b367665c5919988d83bc79a9dbb4085bb1e74 |
Hashes for hammingdist-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f293a27f440011f19f462d445a9e709b541987993fb448656e44873d05c33575 |
|
MD5 | d4173306a8bb667bdc51f6062210303a |
|
BLAKE2b-256 | 5a70d984ce45d43d760c4521014eac1c79d327a720b54e1f5df4c90b7ea4b5d5 |
Hashes for hammingdist-1.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7099f194487676dee24df955f9bcefa5c335c8883fddf706535d0d06e3d149e4 |
|
MD5 | 6e8fc16fdbf548fbcb76a168780e86ee |
|
BLAKE2b-256 | e632c70284199c470a4ef6e2264ab1d06f5d001c0e421619a5c687a7f6c8d7c0 |
Hashes for hammingdist-1.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdac478ad057045b9f4e521afe5b39222123af87c2d23b7f7c6adc1ea33191a1 |
|
MD5 | fa37d1f7cbba92af62004d4be9e5a51e |
|
BLAKE2b-256 | 09693ad152c3b16ced92594b3bfa889a8730b03e618eb4f3a67968922af7a08f |
Hashes for hammingdist-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dc9f8ff426c75a54aa3d957a384a182b3300772d4ce067610fea76ab530f838 |
|
MD5 | 790ba6161e1e6fb5704890abd6edbad8 |
|
BLAKE2b-256 | 437434736cb876302825fc79e747f56e5c596d0a94a7f6bb2d588f10ef7492dc |
Hashes for hammingdist-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cf4e1fef92634ab025998d28e847f0d9333b5748e26fff99d1197b8c38c4909 |
|
MD5 | 8de1bfe6a62eed6925537701aa0b5230 |
|
BLAKE2b-256 | 3213e02b01f9eb7681b6c34f8eaafbc6c85e460211066e7702baab415631588a |