Python wrapper of esaxx
Project description
esaxx-py
Python wrapper of the Enhanced Suffix Array (ESA).
This is a version adapted for Python, originating from the C++ implementation found here.
Installation
pip install esaxx-py
Usage
from esa import esaxx
def print_snippet(T, beg, length):
for i in range(length):
c = T[beg + i]
print("_" if c.isspace() else c, end="")
T = 'abracadabra'
SA = [0]*len(T)
L = [0]*len(T)
R = [0]*len(T)
D = [0]*len(T)
k = 0x100
node_num = 0
node_num = esaxx(T, SA, L, R, D, len(T), k, node_num)
if node_num == -1:
exit()
print(f"node:{node_num}")
for i in range(node_num):
print(f"{i}\t{R[i] - L[i]}\t{D[i]}\t", end="")
print_snippet(T, SA[L[i]], D[i])
print()
node:5
0 2 4 abra
1 5 1 a
2 2 3 bra
3 2 2 ra
4 11 0
Alternatively, you can use enumSubstring.py:
ehco abracadabra | python enumSubstring.py
For the original implementation:
g++ enumSubstring.cpp
echo abracadabra | ./a.out
Note
In the original implementation, the return value of esaxx was an error code, not node_num. However, due to the constraints of Python and the difficulty in passing by reference, I've chosen to return node_num.
Maximal Substrings
To obtain Maximal Substrings:
from esa import esaxx
def print_snippet(T, beg, length):
for i in range(length):
c = T[beg + i]
print("_" if c.isspace() else c, end="")
T = 'abracadabra'
SA = [0]*len(T)
L = [0]*len(T)
R = [0]*len(T)
D = [0]*len(T)
k = 0x100
node_num = 0
node_num = esaxx(T, SA, L, R, D, len(T), k, node_num)
if node_num == -1:
exit()
size = len(T)
# Record changes in BWT
rank = [0] * size
r = 0
for i in range(size):
if i == 0 or T[(SA[i] + size - 1) % size] != T[(SA[i - 1] + size - 1) % size]:
r += 1
rank[i] = r
print("count\tlength\tstring")
# Enumerate maximal partial strings
for i in range(node_num):
if D[i] == 0 or (rank[R[i] - 1] - rank[L[i]] == 0):
continue
print(f"{R[i] - L[i]}\t{D[i]}\t", end="")
print_snippet(T, SA[L[i]], D[i])
print()
The first column represents the frequency of occurrence, and the second column represents the length of the string.
count length string
2 4 abra
5 1 a
Here, even strings that appear more than once are listed, even if they are just one character. If you want to skip those, you can use if len < 2: continue
.
enumMaxSubstring.py:
ehco abracadabra | python enumMaxSubstring.py
C++ (enumMaxSubstring.cpp):
g++ enumMaxSubstring.cpp
echo abracadabra | ./a.out
UPDATE in 0.2.0
Introduce a new function: get_maximal_substrings(str)
.
This function allows for easier extraction of maximal substrings from a given string.
Usage Example:
from esa import get_maximal_substrings
T = 'abracadabra'
substrings = get_maximal_substrings(T)
print("count\tlength\tstring")
for substring in substrings:
print(f'{substring.count}\t{substring.length}\t{substring.string})
count length string
2 4 abra
5 1 a
UPDATE in 2.7.0
Available unicode character
Usage Example:
from esa import get_maximal_substrings_unicode
T = '松島やああ松島や松島や'
substrings = get_maximal_substrings_unicode(T)
print(T)
print("count\tlength\tstring")
for substring in substrings:
print(f'{substring.count}\t{substring.length}\t{substring.string})
松島やああ松島や松島や
count length string
3 3 松島や
3 2 島や
3 1 や
2 1 あ
Additional Information
C++ Implementation:
- https://github.com/hillbig/esaxx
- https://code.google.com/archive/p/esaxx/
- https://github.com/TNishimoto/esaxx
Rust Version:
Software using esaxx:
- https://github.com/huggingface/tokenizers
- https://github.com/google/sentencepiece
- https://github.com/shuyo/ldig
- http://phontron.com/pialign/
List of papers using esaxx:
- https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=47681&item_no=1
- https://www.anlp.jp/proceedings/annual_meeting/2012/pdf_dir/A3-1.pdf
- https://www.anlp.jp/proceedings/annual_meeting/2012/pdf_dir/D5-2.pdf
Articles about esaxx
:
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 esaxx_py-0.2.7-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ebab24615e2f41bc0ed0b43df9010de900edff10690641d6333f43b48314dfd |
|
MD5 | 8a3275d76f4e65110817846922564838 |
|
BLAKE2b-256 | 7e8a353886c67798f9d1799f2a16310c9138d00b62736eed9d1199897cdf9a49 |
Hashes for esaxx_py-0.2.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7f43b21f2a89c0a3e6ccc08b880d948c194aa222a9a36b5d15fb70ddcd8f5d4 |
|
MD5 | d5ccf4244acaf9aaded10db2dfa27352 |
|
BLAKE2b-256 | bd1ca683e175a5d7e6500aa7b56a709a6f9da396db8ed47aad490cb95852b1fb |
Hashes for esaxx_py-0.2.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b456bf9b222e10edc941ae8ada1632fca08bf699e003979464a1aea6610f67d1 |
|
MD5 | fa43d16a0827d63a75d165ce227a3f55 |
|
BLAKE2b-256 | b2019fbbb9fa4de0a3cddf0638569f5f98d4e62809b0aaf3fefd93353376fbfc |
Hashes for esaxx_py-0.2.7-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6c53379cc4a2fc6f60ef9f39677bb789a73757da64f7c8d6e81052b0ed1abde |
|
MD5 | cae90486eb06d838d5d05de1fecf44f0 |
|
BLAKE2b-256 | 0c13146339231818fb8374e74f9cf9075e6da4da0018d374c959d5e400aa4838 |
Hashes for esaxx_py-0.2.7-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6255cb2fa7b30a92132abf7a8a6125aa3ccc5cc73596752534c894eb6b8ffed6 |
|
MD5 | e1aa5b3f7c67fb153d2f563283d82972 |
|
BLAKE2b-256 | 0ad0ed2815a5f0c18461440469845d50af8a284abe3a6cb27e10bf27ae100f2f |
Hashes for esaxx_py-0.2.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf06222a983fa927134aca89bc85b1ad6adbaf31df329eb9394b5b3bbf879ac7 |
|
MD5 | 7a97b8461d0f164bac645b51c606b1bc |
|
BLAKE2b-256 | 50c0c23300fae2b466d1c778b7a449b15036fa390d0ce6623c2b65539e326a56 |
Hashes for esaxx_py-0.2.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36bf82ab35271abb85cff36798cb2e3d4d456bf08a3dc9abfba38b1fbb074baf |
|
MD5 | 6fec4393a9b5b5bcde26a10ac05841dd |
|
BLAKE2b-256 | ff5a4928818015b5a6a70c9cf305f085fe64a416bc422f1ceac1b68c692be622 |
Hashes for esaxx_py-0.2.7-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e185ca8b2a4ae24409036a604254a64700e46943c10fecabd12c8eeaa5235388 |
|
MD5 | 795ea91e2c6212a12bae36f1bb1e0285 |
|
BLAKE2b-256 | ce5289e5c580a894e893e5dba10716b4769022110305ab73cd4c58fa600e34f3 |
Hashes for esaxx_py-0.2.7-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c8befdccbe9ebf52d558d0f326e17b9e8a621a31b30e544be48fc2ff319b7bf |
|
MD5 | f121b422a7695326f3061db7238fa4d2 |
|
BLAKE2b-256 | 26e364ebfc8a20ee3fcdf0a8fa80ff931e14e5de4ce8e379aefc55e2bde94129 |
Hashes for esaxx_py-0.2.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df94d8e05c2e8393bfecb0b5d9b2096f39a78cc0771a2f977054b660c435307d |
|
MD5 | f47887b22e6912f3402afcd1624efaae |
|
BLAKE2b-256 | 37b200df601ce785674bd8675819ed29958b27ab81b49ea765283838bc7d0665 |
Hashes for esaxx_py-0.2.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e130acbd8f38839e754d4b7e1803660bb26d30b52c4d692decf77573a0285c6f |
|
MD5 | c3f106a1d232712d8a3e2b8981d80800 |
|
BLAKE2b-256 | afc8ad89265bd5f2ec46cad6de0c38e9fe8e82c04a1c6133cb921f372b3cbbea |
Hashes for esaxx_py-0.2.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 949565119af87de28e5debcb8c0ea40b6716e707868acff0a017742472167ba4 |
|
MD5 | 59fe0e19c031b160fd36bb8dd39d42d0 |
|
BLAKE2b-256 | 6484c36783e8b284cbac0ab1681b3422cd568d14c074acc27820edc09f6aec2c |
Hashes for esaxx_py-0.2.7-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 869c175dc4e35d7c57c8887977fff24c771e570b98e184f1d20cff428d7c5fb9 |
|
MD5 | 0721936f555bc12dcd4b0e3ed118937b |
|
BLAKE2b-256 | 6c54c062d9446f593211f35db4470d83f6deec227dccca4b72bb42780727ae87 |
Hashes for esaxx_py-0.2.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c4d8771f43fc0db0e65b687d8b25da3fd3828d5ab40d5d289474d6a54ae1af3 |
|
MD5 | 35ec127d2e0f291ed0e03bc43e1803f1 |
|
BLAKE2b-256 | 20a7a5405c98a8af2cd4de61847e64938b3acc9b19cd087f80d2ad353129a475 |
Hashes for esaxx_py-0.2.7-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cb01795ffcae56240bd9b146a638197bd6d461ef32a0d8ed6899b1cc1332d99 |
|
MD5 | 82b781ffc2d9a15eaff7caffadf9a114 |
|
BLAKE2b-256 | ae19d132bfe0e90f18e548c3edaae0e9645afbb490122838257466109db8917d |
Hashes for esaxx_py-0.2.7-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91c098346b710fc328ba40866dd69c619400070b6909adcea07213567b025b62 |
|
MD5 | 7c7bd0183c7c54f8ad4c770ec68e9bc7 |
|
BLAKE2b-256 | 9398dd8018ab0929ce14381984bd4635c751297ef59e0ad97385913a458cdbba |
Hashes for esaxx_py-0.2.7-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf2a642e8677a50cf3f850783ac71ed39de9593cf1a8b6ae690b00757eef7800 |
|
MD5 | 03efd307b81785dc44bc66c6f7ed278e |
|
BLAKE2b-256 | 54aa1de023c33b8fbda1782c63da16a68e5521bd48c0869d0f7db04a46189c6c |
Hashes for esaxx_py-0.2.7-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02518d9c9b5b3d264114a89510ef05b8e2489cd6d3bc85a2e88bada182bde6b2 |
|
MD5 | a493fdaecafd1f9c640291d89d115917 |
|
BLAKE2b-256 | a70ba7f5f1a829b58d8e93086f902007b5684aeb7a16cfaae0cc77667f48d082 |
Hashes for esaxx_py-0.2.7-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec438a1e72e256ba4082a54cfa8a634df2f6c119f85ad1d1a5a83c6ce08f70ca |
|
MD5 | dfca0ddb040f7042e962bcdd0b7e4cf6 |
|
BLAKE2b-256 | d92032730008bc756167a4d4413fa51dee50c054bc9308d27920f4804ccc75c3 |
Hashes for esaxx_py-0.2.7-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b67c00cbef021e9978170e8ae0e0f58a6b496d84934b8f14fc3f7a135fd311ee |
|
MD5 | 024b0213ecf4e05afaddbda465ad821e |
|
BLAKE2b-256 | cb0e824fad2e712bd69220d8a904a4817bc5645a45952a7b039d0834cbc289e0 |
Hashes for esaxx_py-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab5dc9df5468554ef6b8e376ee37c646ec17fe720556a2cecc4c564f8d9781fe |
|
MD5 | 6d027dab2b7f8e4e84c11ddc211df976 |
|
BLAKE2b-256 | a08e455ce90a72176db6f2f83a1f6d97d097827f9521081374fefbd2ee4c1b29 |
Hashes for esaxx_py-0.2.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6aab7a5943a92c2cf6bb9ca682d1cb3de6affaab835b12504b688418c4e7242 |
|
MD5 | 0de7db25267a54f79bd90c85469e9966 |
|
BLAKE2b-256 | e0f982078d084c3b52453c4666c19e6b41dff4e709160cf73eea59fc655603f6 |
Hashes for esaxx_py-0.2.7-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf89c5dacfa3e0c20a2341b1793ab132643c8ad389a10f85fbeea9d0b2135d48 |
|
MD5 | d6d6f99a876bab83a59c74e111ed861f |
|
BLAKE2b-256 | 547ad0f41e3adf12f660057a7d09c08d1c5a73a3b8ecef39dab151e7aec65af1 |
Hashes for esaxx_py-0.2.7-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 719c34405880762e695b650197bf64e52fc520564f3430115cabf48ebf578f7f |
|
MD5 | 75b8f40b01174b0bf4aeb90e951bfc8e |
|
BLAKE2b-256 | b27526dcaac95500f4c5beefc0ad4c5c5de11a7fd95b428c1c070b046c279de4 |
Hashes for esaxx_py-0.2.7-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dcdb5c82f73dd7afbe9e57cd682e1d04053d3a93617e0bc2f84557d82f08fd3 |
|
MD5 | 0aefd29ae8f4d4112f7e25a2f1d04636 |
|
BLAKE2b-256 | cdb9cc790e59d764bcaf1fa1f9d2140131a4ae69363c8bbc40a31d01c9dcb535 |
Hashes for esaxx_py-0.2.7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7ee8ca0e853de04613d08b26930cc93a43eb8f67f9ca764592bd5456fdeb308 |
|
MD5 | bdedf68a70ab2561d09bf2b20e2a9068 |
|
BLAKE2b-256 | 2e4c5d7e4f8cfc45ed3b76c9e366db679b8f407b3646c209e2c3d4fc6ac44369 |
Hashes for esaxx_py-0.2.7-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1707ff33cc67619aed9e94f2ef079e51afd5a74ead2d7c0e2e971596cc983e49 |
|
MD5 | ee464649999c4b58719c674dadb61a83 |
|
BLAKE2b-256 | 454ccbff26ff3768bf5f701aa26ff1f285deb58202e97799cf6fc44e8b567aa4 |
Hashes for esaxx_py-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14f47a8579bcc497f89582135896c328a473b2bd88c5d42c6411ab62533c63a5 |
|
MD5 | 0249545b6f61b3285922cae69f34d56e |
|
BLAKE2b-256 | dacd06459fb1f1fa4960afcebe8349f3ef2410ef77a23336c5b265de07610488 |
Hashes for esaxx_py-0.2.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74c5cb85b681c6859fd67db00c1d957717d70759e98c46cf4ef54615f56f348f |
|
MD5 | f7d84d2368502cb6bf6156ec28681e18 |
|
BLAKE2b-256 | f93ab6b9e3ac2bb9653c0ad769464329adfc4b4616c21876036f6be9630bf6cc |
Hashes for esaxx_py-0.2.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6022a31197e95615fbf55b99b3c0405e2412522106a4798522d10280ff6ff760 |
|
MD5 | 9047fc786655785697d96e1e750343d8 |
|
BLAKE2b-256 | db9644fb45181d23342ffa0a19cf2dbeae74a3f5c309085d3bb4402bdbcacffc |
Hashes for esaxx_py-0.2.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc7263a51540b2f7b43e8386c487d6c0d89b65a9a3c70fb55dfe11df7fded6dd |
|
MD5 | 6db4863c8814a316a89c2fad5578edb3 |
|
BLAKE2b-256 | 7fc613d8e9f3fd967e3403ddf8012c0c4123aa2955ff08607a089a1500564973 |
Hashes for esaxx_py-0.2.7-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44ddc11b93e56095a5487eebbb83782989990b4f40d210258c5cce383e88598b |
|
MD5 | 6e168d1d657488a93dcd291ed3ec0bac |
|
BLAKE2b-256 | 12c5b5956d93e726d2d66a4ba13d4a9e48199b36c6cf0093c52aed8fb7bf8d90 |
Hashes for esaxx_py-0.2.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 986c13e0c6d5ff28941d1661c00713d4772e4ddfb3aba8cd8ef5dd9f603a152c |
|
MD5 | 0afc45a5b8bc1946ab9a5d289efac257 |
|
BLAKE2b-256 | 5bae6e20acf82f0e05a7e57983a835876a882bb82f750b4040142a832f775783 |
Hashes for esaxx_py-0.2.7-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9291a8c966a38c0b855d6ac89dedad98efdd76858ddee2d88b1bf9e8de1a8d0 |
|
MD5 | d24b939f596f8cb743835192b688ec98 |
|
BLAKE2b-256 | 66305ce84766efd1b4e20944bc5ae5eb44fa9774ec1a085d4aea6bc44ad68128 |
Hashes for esaxx_py-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8eda39513f352426dbe2472b83269e5728533e1d9e253e84bbdff4852cfdff17 |
|
MD5 | 6f33a39d92ac413825d85ef9ce15ff32 |
|
BLAKE2b-256 | a0fb2d25131120a0055c2f482665f912fa1db75df7c35609c9f1fc8a7272858c |
Hashes for esaxx_py-0.2.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e881dc68c4619d8708cbcb92c24639d75357cad06cebd9ecad1896ceb1b126c |
|
MD5 | eaa57a4a467da6a215cab748bd51c21f |
|
BLAKE2b-256 | 8972ecc8bfc8309ab0ed69443c6dfda018b4682505ef6f2321de771cfd937e8c |
Hashes for esaxx_py-0.2.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3b497e40bb5f15e61e38a692af0b3077bbef39c61fd311ecafc2771248472e0 |
|
MD5 | 5ac61d46029e3e1e971d1ad33e382381 |
|
BLAKE2b-256 | 9423519b0183360177c7d94a381f842d6b58ebebf8d9b26f43a5e366bd2089bc |
Hashes for esaxx_py-0.2.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b17c9aa8805619743857e7731dcbd2962a4e86fa41b671a8af43ab971949c33a |
|
MD5 | a1f5a8125acf24902ac802471ea07432 |
|
BLAKE2b-256 | c763c5bc2080dfb8865818aca10ef8e1dcbb06404f9224f8e4e89ac5973f9409 |
Hashes for esaxx_py-0.2.7-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0ff5536cc608657d5918e4dfed31ebfb0c1c4cf349dbc8f27b829bd16bcc4f3 |
|
MD5 | c56ed618fc915fcb49eb393b3751a375 |
|
BLAKE2b-256 | fa2cda2ea1e08b810c5ce328ff8bc2c6f9ffb79177d6947bd26a0005b148873b |
Hashes for esaxx_py-0.2.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62aba5eaf8ad24a501df8d0407c7f2684eb96e37d070ac73be17734487c84646 |
|
MD5 | dd10672a542452e9d7876a0b3123381c |
|
BLAKE2b-256 | 361cdd16c89596cda085c2fe1362b22246aa44bd193665f66dbf6c25ff3008ae |
Hashes for esaxx_py-0.2.7-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad9c0dc7b3b8731e33b06cc871d08fcc41c0e6aca0efaccffc984aac80942ea3 |
|
MD5 | 7d28b7ffc5d6509ef7621f976737b34e |
|
BLAKE2b-256 | 26bfcca1256af9bcf5b195a545c6d5e9777fbddbb07d7e096004d2a3c942ee92 |
Hashes for esaxx_py-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66c3b72800d4df9b313fcedf7fc4e16df5a0a439ee7be24f0a6881927100f366 |
|
MD5 | 3bdba635b0b80e5b2d9b83e689e7b408 |
|
BLAKE2b-256 | 57a6b3f4e9f0db69a8d50fcb763a371d266da281e5c53e832ca4c94b3048f4bd |
Hashes for esaxx_py-0.2.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 008d8978d633f07d4dba2406ed4f0c31e7e3dde01f20ae2d7c11d55ce02f11bd |
|
MD5 | aea4e2a8ff65c42e3f8e4e0dff8d05ad |
|
BLAKE2b-256 | 2be4a499123a40bd9e84c14e1dcec62d996523632cc7cdc23e2ee0f49d9f8f3c |
Hashes for esaxx_py-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de5f942a6f81e9baec778c058d9243e97b56ac44c753cb7313a91c849abd13dd |
|
MD5 | ef158527f34e94b63b12b37ba6f87a82 |
|
BLAKE2b-256 | 043c915ed39e9f2b8761dca193e5450eeae5ba8898199407e06d2b3ede24b4f7 |
Hashes for esaxx_py-0.2.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4d154ec911dac41aa85b2cfa3af4d53bf406c62fc8e135eeb8d54c15d909ed0 |
|
MD5 | 0a965f106ff116982674fb0c6cae6aca |
|
BLAKE2b-256 | 649f4a503d37ecfc4ced0502da83e99ffadecc381bf9e44197b81030407a9f81 |
Hashes for esaxx_py-0.2.7-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78c3ee7af2b506b1a801184ae165d523cc2fc7c24f2379e60eddc9c6edc88abf |
|
MD5 | 896f0ad200273be143265a5ccc7720e7 |
|
BLAKE2b-256 | 5f4d3e8ebf127ae82762647bde1c747224c5602ddc518aabd1b199641c91a3b7 |
Hashes for esaxx_py-0.2.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 119c059a0110a47d90d9a485aa72169ec8e42c4f76dcf4c70c94339b6ccbbe76 |
|
MD5 | b0b3e37e7967573409efda5beb3e9b16 |
|
BLAKE2b-256 | a66efd60ec4378ce667e827db99fcd4f3f1c381d168729549dfcb8e8b13df7b8 |
Hashes for esaxx_py-0.2.7-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92c353d6a3c0aadf945b4a68a4e132406c35b6c262eafa1f5417681536b32752 |
|
MD5 | ed78c888f0734bf21c55e3f495392c65 |
|
BLAKE2b-256 | d60cd8ca7fd7e644e51ca689988144d199eef339d2fdb1c8ee9c678ebaa08924 |
Hashes for esaxx_py-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27320bad4473f88fcc20e8db6a4b27f7721d1a4e58824e802bd629e5767b7c5a |
|
MD5 | 65a3b1a813cd1126f9fcd6af009be5d1 |
|
BLAKE2b-256 | 558da18d073c58d947916ae8184016828ed7866c0035c7eb24c63ecba20a8535 |
Hashes for esaxx_py-0.2.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8fd1e73d85e52a6690f79f34d566fd35064050a09fa07a0fd97957482e430d8 |
|
MD5 | 23b4197947fff18c50e4d05f8592904f |
|
BLAKE2b-256 | 4fa6d91e0592c24b067c8bbda7f0a1d0d3e7c3715316a707af8ffd66598af75c |
Hashes for esaxx_py-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 656834ea24b069ebbc6456090427c487d42c478caa491d32fd3a3f148e55913c |
|
MD5 | 65dff73cc799c49f338989361853d9d1 |
|
BLAKE2b-256 | dc20ca4b5fab9102a4f85190fbeb46e5150fa7e9f46d153677cde7e4064e01ad |
Hashes for esaxx_py-0.2.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 693f3c4b4bf9619a99190241dabed36d5a989211435d3a73e6f52b71332af8f1 |
|
MD5 | 251e51b0005280cf9ecf9294fd05b614 |
|
BLAKE2b-256 | c36c5eb9ba4dfb47ae38ab384bf01724cced87a5fe9b228991929e8cd72cddeb |
Hashes for esaxx_py-0.2.7-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d6cb869d66fb54fccb28768a6af3e58c11e78647152b4d66712189f1bf9c41c |
|
MD5 | 7928b6fc62846a1a7518ad8c43c997a9 |
|
BLAKE2b-256 | 6557c1ca500f066ad9f4897b1ff9a054b687fcb2ca6d5fc008e4e38c771a7790 |
Hashes for esaxx_py-0.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e19c7ff161564446c01edd9741d0c4b0b0b194495d940db230180d43c8f922d |
|
MD5 | 3e06958fb2b9c3b4ad94419f4e60236e |
|
BLAKE2b-256 | 7a4e7bebcd785fd27b5831abb332ad1957ad147b3a524439e0d010ac342551f0 |
Hashes for esaxx_py-0.2.7-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0bb50ff80558a56c7d68cb4418f1c87be03ec3c4b452912f7d759c721ea5af4 |
|
MD5 | 6e8ac784b247bfdd3cdf69edf8c209e5 |
|
BLAKE2b-256 | e59eae975d12cac645540188e7570bd67fac059f5f2723867ba8cc14f2f23e9f |
Hashes for esaxx_py-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af8e2ceab8b6796861a6f84150b8d5b42651b17042142e5c82439e8f4524c0d0 |
|
MD5 | d80fe5be293c87ac0072138e89168b8a |
|
BLAKE2b-256 | 994beb73a363b3c39efcdda7141b05ed1370dee536518fc09dd655f2b3820d76 |
Hashes for esaxx_py-0.2.7-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8226aa306e7a0d2b0a2ab0262b3490caf443dd4d7a8ba4fd231fbc7fdced026 |
|
MD5 | 07569116f6e107682dd77ac34fcb3910 |
|
BLAKE2b-256 | 306c7a5381ba821704da39d937f2f8085e2dc2f479f3b88ad68964c7796df39d |
Hashes for esaxx_py-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7aed5a75d5648aa27b9d0df6a92c9e85b017037976282ac7d0cfbe6db45aa46 |
|
MD5 | 802a60117e1c7b2f2b1cb23fca4ccd99 |
|
BLAKE2b-256 | 1c90ea1d3e6430734d1e4930868a8b1c41c93d974ca57d05a4dee466ce83c600 |