Cython绑定和Python接口,用于Opal,一个SIMD加速的成对比对器。
项目描述
🐍🌈🪨 PyOpal 
Cython 绑定和Python接口,用于Opal,一个SIMD加速的数据库搜索比对器。
🗺️ 概述
Opal 是一个序列比对器,它使用 Smith-Waterman、半全局或 Needleman-Wunsch 算法之一,实现快速序列相似性搜索。它是 SW#db 方法[1] 的一部分,用于在 CPU 上将查询序列与多个数据库序列进行比对,使用 SWIPE[2] 中描述的多序列向量化方法。
PyOpal 是一个 Python 模块,它使用 Cython 为 Opal 提供绑定。它实现了用户友好的、Pythonic 的接口,用于查询序列数据库并访问搜索结果。它与 Opal 接口交互,而不是与 CLI 交互,具有以下优点
- 无二进制依赖:PyOpal 以 Python 包的形式发布,因此您可以将其作为依赖项添加到项目中,并无需担心 Opal 二进制文件是否存在于最终用户的机器上。
- 无中间文件:所有操作都在内存中进行,在您控制的 Python 对象中进行,因此您无需使用子进程和临时文件来调用 Opal CLI。
- 更好的可移植性:Opal 使用 SIMD 加速比对得分计算,但不支持动态派发,因此必须在本地机器上编译才能使用本地 CPU 的全部功能。PyOpal 包含多个版本的 Opal,每个版本都使用不同的目标功能编译,并在运行时为本地平台选择最佳版本。
- 更广泛的平台支持:Opal 代码已回滚到使用 SSE2 而不是 SSE4.1,这使得 PyOpal 可以在较旧的 x86 CPU 上运行(自 2003 年以来,所有 x86 CPU 都支持它)。此外,如果 Armv7 和 Aarch64 CPU 实现了 NEON 扩展,则也支持这些 CPU。最后,Opal 的 C++ 代码已修改,以便在 Windows 上编译。
🔧 安装
PyOpal 可用于所有现代版本(3.6+),可选地依赖于轻量级 Python 包 archspec
以进行运行时 CPU 特性检测。
可以从 PyPI 直接安装,它托管了 Linux、MacOS 和 Windows 的预构建 x86-64 轮子,Linux 和 MacOS 的 Aarch64 轮子,以及使用 Cython 编译源代码所需的代码。
$ pip install pyopal
否则,PyOpal 还可以作为 Bioconda 包提供。
$ conda install -c bioconda pyopal
有关在您的机器上安装 PyOpal 的其他方法,请参阅文档的 安装 页面。
💡 示例
所有类都导入到主命名空间 pyopal
import pyopal
pyopal
可以与作为 Python 字符串传递的序列一起工作,也可以与 bytes
对象中的 ASCII 字符串一起工作
query = "MAGFLKVVQLLAKYGSKAVQWAWANKGKILDWLNAGQAIDWVVSKIKQILGIK"
database = [
"MESILDLQELETSEEESALMAASTVSNNC",
"MKKAVIVENKGCATCSIGAACLVDGPIPDFEIAGATGLFGLWG",
"MAGFLKVVQILAKYGSKAVQWAWANKGKILDWINAGQAIDWVVEKIKQILGIK",
"MTQIKVPTALIASVHGEGQHLFEPMAARCTCTTIISSSSTF",
]
如果您计划在多个查询中重用数据库,则可以将它存储在 Database
中,它将根据 Alphabet
对序列进行编码
database = pyopal.Database(database)
顶层函数 pyopal.align
可以用于将查询序列与数据库进行比对,使用多线程并行处理数据库的块
for result in pyopal.align(query, database):
print(result.score, result.target_index, database[result.target_index])
有关更多示例,包括如何使用内部 API 以及参数和结果类型的详细参考,请参阅 API 文档。
🧶 线程安全
Database
对象通过 C++17 读写锁 实现线程安全,该锁防止在搜索数据库时进行修改。此外,Aligner.align
方法是可重入的,并且可以在不同线程中使用不同查询并行查询同一数据库
import multiprocessing.pool
import pyopal
import Bio.SeqIO
queries = [
"MEQQIELDVLEISDLIAGAGENDDLAQVMAASCTTSSVSTSSSSSSS",
"MTQIKVPTALIASVHGEGQHLFEPMAARCTCTTIISSSSTF",
"MGAIAKLVAKFGWPIVKKYYKQIMQFIGEGWAINKIIDWIKKHI",
"MGPVVVFDCMTADFLNDDPNNAELSALEMEELESWGAWDGEATS",
]
database = pyopal.Database([
str(record.seq)
for record in Bio.SeqIO.parse("vendor/opal/test_data/db/uniprot_sprot12071.fasta", "fasta")
])
aligner = pyopal.Aligner()
with multiprocessing.pool.ThreadPool() as pool:
hits = dict(pool.map(lambda q: (q, aligner.align(q, database)), queries))
💭 反馈
⚠️ 问题跟踪器
发现了一个错误?有改进请求?如果您需要报告或询问某些内容,请访问GitHub问题跟踪器。如果您正在提交一个错误,请尽可能提供有关问题的详细信息,并尝试在简单、易于重现的情况下重现相同的错误。
🏗️ 贡献
欢迎贡献!有关详细信息,请参阅CONTRIBUTING.md
。
📋 更新日志
此项目遵循语义化版本控制,并提供了更新日志,格式遵循Keep a Changelog。
⚖️ 许可证
此库根据MIT许可证提供。Opal由Martin Šošić开发,并在MIT许可证的条款下分发。更多信息请参阅vendor/opal/LICENSE
。
本项目与Opal作者无关,未获得赞助或认可。它由Martin Larralde在欧洲分子生物学实验室的Zeller团队的博士项目中开发。
📚 参考文献
- [1] Korpar Matija, Martin Šošić, Dino Blažeka, Mile Šikić. SW#db: ‘GPU-Accelerated Exact Sequence Similarity Database Search’. PLoS One. 2015 Dec 31;10(12):e0145857. doi:10.1371/journal.pone.0145857. PMID:26719890. PMC4699916.
- [2] Rognes Torbjørn. Faster Smith-Waterman database searches with inter-sequence SIMD parallelisation. BMC Bioinformatics. 2011 Jun 1;12:221. doi:10.1186/1471-2105-12-221. PMID:21631914.PMC3120707.
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
pyopal-0.6.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 039487f2ffeae29962e1ed38db401fbe2c295f894461f1dd9af09e94e1feccb0 |
|
MD5 | 98896e34d8c2e9872148e57c3c8b167b |
|
BLAKE2b-256 | a87ee37691265326217d9514e4fb7db8a21b926e2fc103d2cffcf281abea8fe4 |
pyopal-0.6.1-pp310-pypy310_pp73-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c5ba8e996aee56c6d69c7335c11fbae9726dea94829473c4a4ec2e196b6eae7b |
|
MD5 | 12557864763402d7943b43d0d4866d58 |
|
BLAKE2b-256 | 98befe4955b3007686d8a719c981b68cddb58129e5a18fce0f0a1bfed69840c3 |
pyopal-0.6.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 566bb7c38a9aab10f2e711d3abc743fdab362b727d8290aaea9e99ae61f417ce |
|
MD5 | 66f95c6d9fe9656ff944238e1df3a366 |
|
BLAKE2b-256 | 194a28232ee1c689ca0c0e488403937829d0ddc289a89174c0dcff10a3f1967f |
哈希值 对于 pyopal-0.6.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a1aa231c628b2187bbd8b5e0be5e2c28d1904a089879e4a7fae4d1057f743008 |
|
MD5 | 1672ab54a854f350ef97e15a48cd7023 |
|
BLAKE2b-256 | d653f8b66d668492f7049a7836cd8dde2d78f2dbf2c6c40384238f1b51287534 |
哈希值 对于 pyopal-0.6.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 68215391019b81f6ad3223380390deedae56b3f0ea6173d0329ddb363cff4412 |
|
MD5 | f078a002bcdd514d0d5790ca92db4d91 |
|
BLAKE2b-256 | f432b0475160cfe6598985e3566667cf86dc8f6bf928504d2d62f095ce14ee50 |
哈希值 对于 pyopal-0.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7a45e50776f06afaaafb3fd32ce79d36cb2671dae7698c79ff224be8fbde6dc0 |
|
MD5 | 07ece09721211f3d2c0d22e2db43d8a3 |
|
BLAKE2b-256 | 4eb9776e4fd388f65e08ebb478e958f93b4105f6a4f4f924e27d0dd7c719da71 |
哈希值 对于 pyopal-0.6.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fcf992ee27c1afe5e57e6264a63681b52967f8e4d67e9cf134473944fc072a98 |
|
MD5 | 3577779585593cd85ffcb0bf4391ee9c |
|
BLAKE2b-256 | eb4f36b2a40c9e1513e6f2c8e6decac33688e5b6179afeffc9188ea2030b61c7 |
哈希值 对于 pyopal-0.6.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0780790d079c4b38839bdcc6cbf69ae6d13978d31f972f9528c09ef1cfa9426e |
|
MD5 | c6765cd7f5aef66a5ffbbf00f5a61af7 |
|
BLAKE2b-256 | 9a5c8fe271b8c8cdbf8a044a8907d4f6bf58d1ba53a25ad6150d35142dd41dec |
哈希值 对于 pyopal-0.6.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 20d596bfdf0873bb97b49128d65201e55469742b0c03cab8455dd9693256bf32 |
|
MD5 | b7a790e56e597fa73518d050c1a1cd83 |
|
BLAKE2b-256 | b412f8688a3f29609d3e7a8a0a8e0370b3caad8a06425040419918e945010f73 |
哈希值 对于 pyopal-0.6.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e4963cd75340c151d9871361f351a7484652df216973cf1b31bfe9a027a5a985 |
|
MD5 | 0137a23c02c1f2f34fbae14f3ef1938d |
|
BLAKE2b-256 | 49fddab2b061008a0ddaf3ee4bcaba8cd4e3e63d8a90640c57b2b56fb1e0069d |
哈希值 对于 pyopal-0.6.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4bbe8fd647a98a6dfd5596f83855db672b69690ef59d96dcd66a48ca0389fc85 |
|
MD5 | b3c8334039c5236f8bb3f4fd55867928 |
|
BLAKE2b-256 | adb98e11514cd2689a51b2d9b0f294fb50aabf8bc06b8f3024f1fb5c83e00612 |
哈希值 对于 pyopal-0.6.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0eef1999c9d8a603bd6f8af5e780e1150806c59d3412de170ccb55baba32f9a0 |
|
MD5 | 843fc58962a9aa1aeaad96719dcbf344 |
|
BLAKE2b-256 | 29aba846b99ac46531994305a25eb56970ecc0232aec0db04a55fc73f14844cc |
哈希值 对于 pyopal-0.6.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cdf448b5d3321446ef1e9c2e0c3a6902dfef3c66388b346fbab2f588fcda354d |
|
MD5 | 83e087a620118613b1c1d08c835d3540 |
|
BLAKE2b-256 | 29509adc64fdb3b08356b0279f1233cd8beca5c0980e4c002390fe2d6959612b |
哈希值 用于 pyopal-0.6.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f72cdf8acf6503963382f274558ce9c1e5ecb0624da24e2d3d29b1ca7ebe113b |
|
MD5 | 6521af4c45ef489a6e412bf9fd193e0d |
|
BLAKE2b-256 | 0000f1cc7d51c31ed1741130bd5305b5570264c52bbbb5692e092161003f9008 |
哈希值 用于 pyopal-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e67062ab4000e6742ce0209f2e524183a18924059d2cd8bdf4ba9becf339fe4f |
|
MD5 | ce72bb8f05f7f87b7707c652cf96264c |
|
BLAKE2b-256 | 02a0351e69df0e9119645a694ed33fb6901f8fe05a9657688ce7a2ba9aba3813 |
哈希值 用于 pyopal-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8a31053c46c96a760b05a47d950da0364b36cce140bb13ced8bbd2817fd81ae7 |
|
MD5 | f85cc4d8ae32018d178c7378265b1b9c |
|
BLAKE2b-256 | be968c14c774e5f72a35369d4cae96c20b575e53287e1a95be593781e5e2bcda |
哈希值 用于 pyopal-0.6.1-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | adeb7ab34455c6b9bc441e03e633d37e5f3b5ec16d2efde87b3b352d3843904a |
|
MD5 | a5776f9a181a7c723acfb1201879a814 |
|
BLAKE2b-256 | 3aeaa1f9e6f90c55572ffce3282d5348d568235273c321b99e3bc5c84f50658c |
哈希值 用于 pyopal-0.6.1-cp312-cp312-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a9f4c28d8bcecdb901d5a62a1c32dfcb4a716ddbba4fae6ab19f65a044ceb527 |
|
MD5 | fbb2b6c1a1ee57ec70cacb0426e6d4db |
|
BLAKE2b-256 | 3f1a816d99054893524dc51be6cd2879a5d48b5f12457050f1d3fae2674eedc6 |
哈希值 用于 pyopal-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 790237b03dd3ff7cde1743c287b6a3840626debb309f9ec396376dbbeb816231 |
|
MD5 | 66e625cb4b1a239c7f276fd5a931acb1 |
|
BLAKE2b-256 | 7942af44e01c94776ea34a22871148333ca9f5fcb3f082508f7c0e538445e46e |
哈希值 用于 pyopal-0.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5102a2a0590ab8b919312b8231b2c052d7b13d63cd62d54e9cc5441c0370b267 |
|
MD5 | de0b326dcc78d15ffa29a182bfd8fa84 |
|
BLAKE2b-256 | 462fc116f027db5bb26d7dfa5d0aa8879511ddb5b51469419dff3b49bb59d8d9 |
哈希值 用于 pyopal-0.6.1-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4539dc4e81c21ed7534e4b7d656cec62c20c57958df4f99b9826b4bd8ea5f92c |
|
MD5 | 4c8bdd4165a6308d5393372f4a471e38 |
|
BLAKE2b-256 | e886ded6ce22ea50271022e5de3c32c0666a595bcdf99f8dbd4f2dbdb1fd64da |
哈希值 用于 pyopal-0.6.1-cp311-cp311-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 54888745dec3060fff252f6e699180d0c32aa8f3fdf3b5e53f29df9b7b49c437 |
|
MD5 | d91aa93b1d9363461a2a5319e7dcd0ec |
|
BLAKE2b-256 | 4352de4763cf767ee60a639c3c54c34403e00db368890bd28c7705da6ed6bf77 |
哈希值 用于 pyopal-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | af16780f261a6f855f00cfd8a5d5dd37d3ee69bafe2f0b25d60076ce2c71d6f4 |
|
MD5 | 71ccb5a449eaebc6428987e51d89effd |
|
BLAKE2b-256 | 8fcac067665f541b6fd0532cf595377f59bb6e949d7a75bc190a205202232a71 |
哈希值 用于 pyopal-0.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e1ff2479a18ba1047152a5fd317e4dcc676ff0a92575540db6644a8b4c4de054 |
|
MD5 | d26af43a84b771a8f9403d42ac45c31a |
|
BLAKE2b-256 | 4dad9933f60302ba7cf132969855ab2a191915ea4ee2359057c8888eb60cfa0e |
哈希值 用于 pyopal-0.6.1-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a1157a201c4e59c8d129a605034641dc07f6afa252176140ad502fda4764ff45 |
|
MD5 | c59ac0a66f0b255ccbf3a99823ce3797 |
|
BLAKE2b-256 | 61b35f2afdad6deeeeaa5f770035af2d69e9d194c4b8fcf65f78f1970552672d |
哈希值 用于 pyopal-0.6.1-cp310-cp310-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a494078fee466f491d710398089297675eb28e9be7129b3b48ae0dca0a51737f |
|
MD5 | 8be942c33a1f4a9e0f72f9f0175495f3 |
|
BLAKE2b-256 | c79db819195cfef1941604a079a4035e70deb932f4794ccd00b72c3df400fdb6 |
哈希值 用于 pyopal-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 765e6b25f20e02954c55f78dfd6d0be13a89a9e33865fe21b6b1a93862272229 |
|
MD5 | 3eb2e40b24fadae810c30d7b9179e40f |
|
BLAKE2b-256 | d483232243e7ed3342aac34239c9c48c68c468fc8a90bff1bcb794ea07bfc6fc |
哈希值 用于 pyopal-0.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 59babd3cbfa54dabd53eb4d8bee8a19f4dddf0f6fd294f59566dd9e16abf09b5 |
|
MD5 | 2b64f123c0aedc14188930e63fced589 |
|
BLAKE2b-256 | 19015902364d48dc0f307e9db3bee66bb367ca01b0dae04c79d0f28de5e2016e |
哈希值 用于 pyopal-0.6.1-cp39-cp39-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dfd9df53cc6df8c2d9f8651743f2333969e39ba7ca40da2e62589bb90041f97d |
|
MD5 | 8ec43a30afcd5e2c1c6f506283db0e13 |
|
BLAKE2b-256 | e589df8ba2664cd10685091aa5bf3b834f31eae6d23f9f8e08715ed4d609ca88 |
哈希值 用于 pyopal-0.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d72edf424967628baca2f2e79fc6a4a25b5b3a7da2ff53807b88401e2e0c4da5 |
|
MD5 | 64ad6969addcc0b3f4faa151fb255094 |
|
BLAKE2b-256 | 6cb229b2be5c6c66209121266bb9109df006a850b787271b325121256c6974de |
哈希值 用于 pyopal-0.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3ce55960fdae206cc2938bd30cda18bd919038547c32dc18d2f1dd12343b4673 |
|
MD5 | 04eae62c2c6f46b739e60bdb9043561d |
|
BLAKE2b-256 | 0244b543bddebd682657c5c5c2d09823952d5efcea856de91e6818131e7a9c1c |
哈希值 for pyopal-0.6.1-cp38-cp38-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dbcdcd44aa702bc3fc804cfacd60bf39bd75e87d8976ca96e51c98c9f420cc5a |
|
MD5 | 3e44a2e75b62610d7a48686fde53d074 |
|
BLAKE2b-256 | 5357d58f97c49835294d5dc35741bd93128d0e575835d7030384a0fd17ea8369 |
哈希值 for pyopal-0.6.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aaebabf1a971308f7b8e0fb371b64550b0491402f9350a0485e9adca66c89088 |
|
MD5 | b9fd0370af5982feb9fd761822bfb8ae |
|
BLAKE2b-256 | 95a6a46adf373ffb8b16f4763e25eac67ed033ccfbc9cd2ff55091df0d64fc7c |
哈希值 for pyopal-0.6.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c7c479ce1f083e5718a24ce222bc84c21d81f70fb7094aa357aee74fab3e0eeb |
|
MD5 | 12ed99fe45c387cf45d83a58c7920ec1 |
|
BLAKE2b-256 | 8b6a915714f4aa0bd9b75fab873a3a682e8796a18841ef2c5a05b7279fa622ec |
哈希值 for pyopal-0.6.1-cp37-cp37m-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 22ec762c1b1739ae64e333be9777c05a45f93602f55d8e46f006562bbd776269 |
|
MD5 | 9af0f903b2a0e460b1af57c5374d1fc4 |
|
BLAKE2b-256 | 9ce6d199d19e70aedfecd58376bb3709687f894dfa8f5fe421983a2f5a2a525b |
哈希值 for pyopal-0.6.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ba0575b093691ec5bdd55cecba0bc2298f647ab35fb01174ece24294ebf09ce9 |
|
MD5 | 2e230efeba8be823638af29d6819b37e |
|
BLAKE2b-256 | f430586087c51a52493344155ac8fa2cfce4242795580add065829300b3545f9 |
哈希值 for pyopal-0.6.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3fea22de9ec41d1272a0f649c0a4e3a45e1479a89d2201d53a0ecb442b971bf3 |
|
MD5 | 0995f418489b5322aafe4ba775738396 |
|
BLAKE2b-256 | 46919907d42d8c27bda8ca52b506010c67844dbc435a53a9f446ee14b5608f27 |
哈希值 for pyopal-0.6.1-cp36-cp36m-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6ba2cabebf374b667a4764148569ad94ce307df0daf902d9d5a3ff4ab13dcee4 |
|
MD5 | f625f3d32bdc1f0a01fd4e68dc5abfdf |
|
BLAKE2b-256 | cb082e029c59f5f6d02ce48344be0f0ba7f85988f6b189127e9cd74d83cc8abb |