Skip to main content

python silk voice library

Project description

pilk-nogil

fork from foyoux/pilk,在编解码过程中释放了GIL,适合多线程处理

python silk codec binding 支持微信语音编解码

pilk: python + silk

关联项目: weixin-wxposed-silk-voice

安装

python version downloads

pip install pilk-nogil

介绍与说明

SILK 是一种语音编码格式,由 Skype 公司研发,网上可找到的最新版本是 2012 发布的。

SILK 原始代码已上传到 Release , 包含规范文档

Tencent 系语音支持来自 silk-v3-decoder

Release 中也包含 silk-v3-decoder 重编译的 x64-win 版本,支持中文,源代码

SILK 编码格式 和 Tencent 系语音的关系

此处 Tencent 系语音,仅以微信语音为例

  1. 标准 SILK 文件以 b'#!SILK_V3' 开始,以 b'\xFF\xFF' 结束,中间为语音数据
  2. 微信语音文件在标准 SILK 文件的开头插入了 b'\x02',去除了结尾的 b'\xFF\xFF',中间不变

已下统称为语音文件

语音数据

语音数据分为很多个独立 frame,每个 frame 开头两字节存储剩余 frame 数据的大小,每个 frame 默认存储 20ms 的音频数据

据此可写出获取 语音文件 持续时间(duration) 的函数(此函数 pilk 中已包含)

def get_duration(silk_path: str, frame_ms: int = 20) -> int:
    """获取 silk 文件持续时间,单位:ms"""
    with open(silk_path, 'rb') as silk:
        tencent = False
        if silk.read(1) == b'\x02':
            tencent = True
        silk.seek(0)
        if tencent:
            silk.seek(10)
        else:
            silk.seek(9)
        i = 0
        while True:
            size = silk.read(2)
            if len(size) != 2:
                break
            size = size[0] + size[1] << 8
            if not tencent and size == 0xffff:
                break
            i += 1
            silk.seek(silk.tell() + size)
        return i * frame_ms

根据 SILK 格式规范,frame_ms 可为 20, 40, 60, 80, 100

快速入门

详情请在 IDE 中查看 API 文档注释

在使用 pilk 之前,你还需清楚 音频文件 mp3, aac, m4a, flac, wav, ...语音文件 之间的转换是借助 PCM raw data 完成的

具体转换关系:音频文件 ⇔ PCM ⇔ 语音文件

  1. 音(视)频文件 ➜ PCM

    借助 ffmpeg,你当然需要先有 ffmpeg

    ffmpeg -y -i <音(视)频输入文件> -vn -ar <采样率> -ac 1 -f s16le <PCM输出文件>
    
    1. -y: 可加可不加,表示 <PCM输出文件> 已存在时不询问,直接覆盖
    2. -i: 没啥好说的,固定的,后接 <音(视)频输入文件>
    3. -vn: 表示不处理视频数据,建议添加,虽然不加也不会处理视频数据(视频数据不存在转PCM的说法),但可能会打印警告
    4. -ar: 设置采样率,可选的值是 [8000, 12000, 16000, 24000, 32000, 44100, 48000], 这里你可以直接理解为声音质量
    5. -ac: 设置声道数,在这里必须为 1,这是由 SILK 决定的
    6. -f: 表示强制转换为指定的格式,一般来说必须为 s16le, 表示 16-bit short integer Little-Endian data
    7. example1: ffmpeg -y -i mv.mp4 -vn -ar 44100 -ac 1 -f s16le mv.pcm
    8. example2: ffmpeg -y -i music.mp3 -ar 44100 -ac 1 -f s16le music.pcm
  2. PCM ➜ 音频文件

    ffmpeg -y -f s16le -i <PCM输入文件> -ar <采样率> -ac <声道数> <音频输出文件>
    
    1. -f: 这里必须为 s16le, 同样也是由 SILK 决定的
    2. -ar: 同上
    3. -ac: 含义同上,值随意
    4. <音频输出文件>: 扩展名要准确,没有指定格式时,ffmpeg 会根据给定的输出文件扩展名来判断需要输出的格式
    5. example3: ffmpeg -y -f s16le -i test.pcm test.mp3

ffmpeg 也可以使用 python ffmpeg binding 替换,推荐 PyAV 大家自行研究,这里不再啰嗦。

讲完了 音频文件 ⇔ PCM,接下来就是用 pilk 进行 PCM ⇔ 语音文件 互转

silk 编码

import pilk_nogil

# pcm_rate 参数必须和 使用 ffmpeg 转 音频 到 PCM 文件时,使用的 `-ar` 参数一致
# pcm_rate 参数必须和 使用 ffmpeg 转 音频 到 PCM 文件时,使用的 `-ar` 参数一致
# pcm_rate 参数必须和 使用 ffmpeg 转 音频 到 PCM 文件时,使用的 `-ar` 参数一致
duration = pilk_nogil.encode("test.pcm", "test.silk", pcm_rate=44100, tencent=True)

print("语音时间为:", duration)

silk 解码

import pilk_nogil

# pcm_rate 参数必须和 使用 ffmpeg 转 音频 到 PCM 文件时,使用的 `-ar` 参数一致
duration = pilk_nogil.decode("test.silk", "test.pcm")

print("语音时间为:", duration)

使用 Python 转任意媒体文件到 SILK

使用 pudub 依赖 ffmpeg

import os, pilk_nogil
from pydub import AudioSegment


def convert_to_silk(media_path: str) -> str:
    """将输入的媒体文件转出为 silk, 并返回silk路径"""
    media = AudioSegment.from_file(media_path)
    pcm_path = os.path.basename(media_path)
    pcm_path = os.path.splitext(pcm_path)[0]
    silk_path = pcm_path + '.silk'
    pcm_path += '.pcm'
    media.export(pcm_path, 's16le', parameters=['-ar', str(media.frame_rate), '-ac', '1']).close()
    pilk_nogil.encode(pcm_path, silk_path, pcm_rate=media.frame_rate, tencent=True)
    return silk_path

使用 pyav 推荐

import os

import av

import pilk_nogil


def to_pcm(in_path: str) -> tuple[str, int]:
    """任意媒体文件转 pcm"""
    out_path = os.path.splitext(in_path)[0] + '.pcm'
    with av.open(in_path) as in_container:
        in_stream = in_container.streams.audio[0]
        sample_rate = in_stream.codec_context.sample_rate
        with av.open(out_path, 'w', 's16le') as out_container:
            out_stream = out_container.add_stream(
                'pcm_s16le',
                rate=sample_rate,
                layout='mono'
            )
            try:
               for frame in in_container.decode(in_stream):
                  frame.pts = None
                  for packet in out_stream.encode(frame):
                     out_container.mux(packet)
            except:
               pass
    return out_path, sample_rate


def convert_to_silk(media_path: str) -> str:
    """任意媒体文件转 silk, 返回silk路径"""
    pcm_path, sample_rate = to_pcm(media_path)
    silk_path = os.path.splitext(pcm_path)[0] + '.silk'
    pilk_nogil.encode(pcm_path, silk_path, pcm_rate=sample_rate, tencent=True)
    os.remove(pcm_path)
    return silk_path

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

pilk-nogil-0.3.0.tar.gz (223.0 kB view details)

Uploaded Source

Built Distributions

pilk_nogil-0.3.0-cp312-cp312-win_amd64.whl (127.2 kB view details)

Uploaded CPython 3.12 Windows x86-64

pilk_nogil-0.3.0-cp312-cp312-musllinux_1_1_x86_64.whl (506.4 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

pilk_nogil-0.3.0-cp312-cp312-musllinux_1_1_i686.whl (453.1 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

pilk_nogil-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (478.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pilk_nogil-0.3.0-cp311-cp311-win_amd64.whl (127.2 kB view details)

Uploaded CPython 3.11 Windows x86-64

pilk_nogil-0.3.0-cp311-cp311-musllinux_1_1_x86_64.whl (506.6 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pilk_nogil-0.3.0-cp311-cp311-musllinux_1_1_i686.whl (453.4 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

pilk_nogil-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (478.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pilk_nogil-0.3.0-cp310-cp310-win_amd64.whl (127.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

pilk_nogil-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl (502.2 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pilk_nogil-0.3.0-cp310-cp310-musllinux_1_1_i686.whl (450.0 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pilk_nogil-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (477.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pilk_nogil-0.3.0-cp39-cp39-win_amd64.whl (127.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

pilk_nogil-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl (501.9 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pilk_nogil-0.3.0-cp39-cp39-musllinux_1_1_i686.whl (449.6 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pilk_nogil-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (476.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pilk_nogil-0.3.0-cp38-cp38-win_amd64.whl (127.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

pilk_nogil-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl (502.4 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pilk_nogil-0.3.0-cp38-cp38-musllinux_1_1_i686.whl (450.2 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pilk_nogil-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (477.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pilk_nogil-0.3.0-cp37-cp37m-win_amd64.whl (127.2 kB view details)

Uploaded CPython 3.7m Windows x86-64

pilk_nogil-0.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl (502.8 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

pilk_nogil-0.3.0-cp37-cp37m-musllinux_1_1_i686.whl (450.3 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pilk_nogil-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (478.0 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pilk_nogil-0.3.0-cp36-cp36m-win_amd64.whl (134.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

pilk_nogil-0.3.0-cp36-cp36m-musllinux_1_1_x86_64.whl (512.1 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

pilk_nogil-0.3.0-cp36-cp36m-musllinux_1_1_i686.whl (460.5 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

pilk_nogil-0.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (480.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

File details

Details for the file pilk-nogil-0.3.0.tar.gz.

File metadata

  • Download URL: pilk-nogil-0.3.0.tar.gz
  • Upload date:
  • Size: 223.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for pilk-nogil-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fb5d78c36f6183e03fed66d029a02302cbc66b2e8e8f8ce05137e1f57c93b9d5
MD5 974715a9303b0578cb0307614ed238b9
BLAKE2b-256 9ee5a832f6492ea7bc8537caf40dbf7a7eaa6ef46897faf9c6dc126e439c3318

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 79e9832ed5285efe87956ef7af6449995742c33e236cf441f29fe497f951d2ed
MD5 5853dcc7dfcde190d9f8e78df5d30623
BLAKE2b-256 079d18e310ace1e3a7b0d474e163f1d1f9a3fb2e2080150d46e9f1b8691b86c5

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a9968b8ee42b0b307ae848e7ac21f3ba84a6033a480af535d22288ddf2520fbc
MD5 050479e5f4769e0a31e476e3f79c32c6
BLAKE2b-256 07a3401e401e63e7ea8bfc58025c4d206d57b542af6be8d0fc7c9164e09c2c6a

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 fe00fdd548e0096bcabf4ef191178a8676e21b59b443e20e680b4fca8714a62b
MD5 03fc65680220d8c053a436289cd3fb5b
BLAKE2b-256 162b5e6adf970dda5c356f34dd79511d5ac0a1b87f75eb63dffb23af6e50ca7c

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9c9ef4d828f404da201a2846a9da20745a3a60ce6ad7f3850e429c914b026e2
MD5 97cbf0a8a0fa763905ae1738502e1a68
BLAKE2b-256 1a9aa0c0590883d5fb3628a66a4557f7e00dd9d7ad40d0300ca2c81b5281965d

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 15efb98c51b3a8a481d0599ed54c3798dfd97444aa6fa5939a9f9a042ce4fe60
MD5 b551fdc88bf91847f3004a921e46b04f
BLAKE2b-256 af693397f5195698fb4072306a8e300bf6fa48cd8d7b1a1684a485488fa76c22

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 da02ba0de0bb35cd0ffb1547161499411edc79cf222018bc4e5d4cef45396e86
MD5 3faaa9507f402cd3d2b823f05e6364dd
BLAKE2b-256 e7d93c04e34859e65b9e02df8c4c766d5cc5a6fc085d85c764f200cf5da34b18

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 753e172d06a6f3fe609939cc2454ed8a2308803d0cf35ad3105c6df5ad5be28c
MD5 e220de01d64ff8f5a4b8619cd17f88c9
BLAKE2b-256 c0dab6c29e5e7204209be048139ef70b5bbf846b9392a2bef4a1116f5634b307

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d9220833e598fc95c0e3e3cf9c7983432a230e21d704d61f9c624134ff20172
MD5 ae98642be2d0690949ec4d345da6808c
BLAKE2b-256 ed4d2c791f62308e792516c35a38f3048f9988e2f1ea340961ac5af1154ececa

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8482c6a09e8a049dea2767cc8f1971eea72f162e43568f1a84d95f1b6db904c8
MD5 9b0e567b78cbdfee5b65e2f86a0569fe
BLAKE2b-256 e01fc93d5200c608a3423c8fb91e4a80267b2ae7f242bbe9bb98f43d6215e80a

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8c33c31625cca502fe0c0b2354403942485090f0deb715866437d1f2ab85ac94
MD5 ce51a66a22d2cf8594be1b9cb01a5413
BLAKE2b-256 3facfca9e989e3fc9dee9e783b0ec76c8ee9ab2ca5bdfa72e34f0e033a63573c

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0d131dc7f81c4cd83fdf588a96d20ef29616fbd9ba5d57f16ad8a84d3747541d
MD5 008c4e86c21476e6e7cbda3e58a54b14
BLAKE2b-256 088f25a29fafd69cfa48fe4c5dc17d94b352b21637e6724ef6bf4931b3375dc9

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1094ca015a6fde5dd64d344ad6acb2ee4ae422ea68addfa25141e88966b43dc
MD5 c875aaf2139c90c3ab75b98e1fa4eade
BLAKE2b-256 43816584391008468c41637fede789827c7a5176a96604fd4b2da58cbfd369ba

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pilk_nogil-0.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 127.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for pilk_nogil-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 12b7a01c82545a35c58e81afc69ec0bdc4901951ed31949df653d7afa0161b80
MD5 43d6f4be9e6a9d5d51762d222e30e233
BLAKE2b-256 1d16866afaa22a3eb090f8486822d3f61c8b5ae557f259466346e2dc47753cac

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9cffc5af136fe929cde2d95bfa1bc9acba3247fc714ed9ca5c68e3ba5eb24b1b
MD5 0ebc9316b6ad423d86a58bd1b86805fb
BLAKE2b-256 0a974a066cb8235b87c234420d96889dffae8e6767381118ccae32057cb337f6

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 35630554ef48bb5733183b56c6eb289b50981d053366ebc37f35146af90bcbe4
MD5 31a5f5bc2e081756498158bda697be95
BLAKE2b-256 551de874f609f646d807a3b1db3ac3a7605d7baa5ecea33fca1ab03e1b5beaf7

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c58e0df89755b8f18ebd738261b720c706da65c87d092834ce92d867c9d12f9
MD5 2eef44ac6f321b685e392e19c179d229
BLAKE2b-256 6e7ee8331152a0608833f1a8f3d12b5477a5915bce2c6d6cacc35ed93ca2af37

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pilk_nogil-0.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 127.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for pilk_nogil-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e1aa512fcb6f4fd6f0b3e2c7c1f47be1c6672abd25990ccd8b3d85ef027d3c79
MD5 a2902ef00ac620de1f92d8ec4a15f304
BLAKE2b-256 b9411ba859f4f32972fb4614598df3daaf815d4c43c5560ececf6f35e9738866

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 43eab2bb50466e397578edf223c4abcc85cca82647c9fbba86833e61c4c0e7c5
MD5 4de1f3eaf7b501a4f319cfd723f664c5
BLAKE2b-256 5b8b667d82dc26118362042dfcfc34ccfd82b7b85ee3fcf82eaaeb23e1363ba6

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bcef47ef3794d547501c7cf599a137831643a1d06a44dd4966695b7438ea8abd
MD5 080e127231e589e7f908c426d03a713d
BLAKE2b-256 8f6533e73b17c2f44f19a251e2163bd5650a6198a4a4e4e18d72d782fcd6e7fd

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78233a09718790273427f32689615af5654558e759cc5bb212f5920a107f6bd2
MD5 86f56f914eb9cabcfebe140ccf6bf6af
BLAKE2b-256 737218336d42536082dc3efbcc675673466207229d127effc1aa3e9bcc706515

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 61ee85620ef4abde03dedf1c41f038f5c3c38ec577df95dd9f74ad12d4274278
MD5 609baa1bc93a1c50191852fd8ee9d2b9
BLAKE2b-256 62e4e8afba30e4e97fdbe152b15079bc4efe672d3d7cb3ed3151147193994030

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7d913e93417f46ffd4b6f182cb97a5b0f9db28698198075b35c6228d4eb6f915
MD5 3b3f7532cf6deab7041d7930cafedd24
BLAKE2b-256 941bb3a3a3019e2551da434c51be576eecb84db1ff3cd495c872033001284e62

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 c68c04fe0733c83b3f0e78ac15fda89aed6fbea6c7462521d2ce7cf8c6454677
MD5 38d4ecf8f2b447f8234c87e58d95a6c3
BLAKE2b-256 51600c1a9b5fdfba6f5dd10793157bca18fb391b371537968730ca5bef8be929

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31b6f2026bf04c5f0edee7816f6d4cc074b22fc0bc46f568538ede775b82221f
MD5 a05a8da3520247c946ca618f7c92b1d8
BLAKE2b-256 2ada0cfc4a28c3a04f7db6ff2cd62e723a2345a664c9fb778ffce1482bc22109

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c36aa5ffd531231ec6afcdcc84859acb73dddd0aa9b4c64f4a3c68152c8c8824
MD5 c73f570f29e7e4642127fa96d0153aa4
BLAKE2b-256 fb76e1effea1b721ce01a723872a9dae0ddf3c3f5ce548c61ebac03542168b60

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d6e531821f4f765826fb6471e676470bc54bd939830f221d9e2c77fe776f8dec
MD5 46dbe8b4995ff6bbd40c557d4a95ad72
BLAKE2b-256 91f3ef9b69e1fa773ebd49ad084235a83b44b564cfbc627b920c708060d6d9af

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 18c9908757803f296e5dcfabe2b991ce430de28705e2b4cfa29b122f5c407f1d
MD5 c9c3012695d3562ad46f6e4e86de045f
BLAKE2b-256 c224818e4cc6c90181885d308895066abc629f86d577bcc2f12b398f03729cd5

See more details on using hashes here.

File details

Details for the file pilk_nogil-0.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pilk_nogil-0.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a49ac03d64bd8ed83edd235699d6d82f2acc31cb243bb2950f296bf27728aac
MD5 b99203136ac066846b7ce09ca344828f
BLAKE2b-256 ab7c53ba3bda34d15981f61ca35b878fd8710efe987478c938a6748788d95155

See more details on using hashes here.

Supported by

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