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.2.tar.gz (223.0 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

pilk_nogil-0.3.2-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.2-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.2-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.2-cp311-cp311-win_amd64.whl (127.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

pilk_nogil-0.3.2-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.2-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.2-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.2-cp310-cp310-win_amd64.whl (127.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

pilk_nogil-0.3.2-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.2-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.2-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.2-cp39-cp39-win_amd64.whl (127.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

pilk_nogil-0.3.2-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.2-cp39-cp39-musllinux_1_1_i686.whl (449.7 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pilk_nogil-0.3.2-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.2-cp38-cp38-win_amd64.whl (127.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

pilk_nogil-0.3.2-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.2-cp38-cp38-musllinux_1_1_i686.whl (450.1 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pilk_nogil-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (477.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

pilk_nogil-0.3.2-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.2-cp37-cp37m-musllinux_1_1_i686.whl (450.4 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pilk_nogil-0.3.2-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.2-cp36-cp36m-win_amd64.whl (134.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

pilk_nogil-0.3.2-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.2-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.2-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.2.tar.gz.

File metadata

  • Download URL: pilk-nogil-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 2ac5dd74a6728c040b9a112a6cb2d4a5d2da4add9cbeb4e1b7529036c4e9fd81
MD5 99cdab4da179fb0a59874ac3857f2c73
BLAKE2b-256 75d57cf9be486441fd92e9b2579ff1a93069cff5bd88e5e4bd3f7225af612c82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 95e6c8994249bee29a73e1a9cfc9ee83668c3bc5d34bf59355a7b2569d088cfe
MD5 596e6643f7712f8c1d243486e63e133a
BLAKE2b-256 ced6d782dfabacde99f55f3954979d2ce4bdbb15323edc5030c02e8129fe58c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5257c7b2fb9b91ab4f1dd717acce1a3c48d29080b78fad94f2245c37cf209519
MD5 320f7758701fb7883350196f2f419781
BLAKE2b-256 3d566a22ea3a2016488dbfa4393c216cac21c9e3c4309bb155c1a15353138d07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 d2fd49c018b6f7e3fa4af1df3775d2186eb515171033ffcced58979838aaaf60
MD5 8f5154fcdd4edfce453cd87582e8aa29
BLAKE2b-256 186ab252827d1bc7b97aa68ec18b9d189ec6a1bc0ea4ebff6af197cbf9aad62b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82f1ebe4425192fb087f8344ba93c26b3f4e028c41757b21073d4ef8a97f4a88
MD5 7197035ccdd705c4365da4281dcf6f60
BLAKE2b-256 4082c81248f9ccb531f15f74b3fa04e2b94c848e6bcbfd6636c272d05b82c64d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0ce6f49f549e8212ccbf51b59d0385f10bbb5d2ee577ec968dc9680d7d4f0d9e
MD5 5c6149fbe2db961b77206f3f12c6bda8
BLAKE2b-256 99103452e39ad870a03ca1fddfea442f53a78ee137d41fedca9cf1de48a3abda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 01ca0c3184f25165c8020f33b77d21619b0c1fe0243f25b34319509039f966f8
MD5 830b4746850b1218499f6c97e5bb1d3a
BLAKE2b-256 1c9588ac97be4f02bca009479526188b8def440b3771dc7cc2d502e706c1ecbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 d5a8ccdb1af3b48778d9cecccaf199958f6da9bc7b52fb4810474ea410b6f7f4
MD5 ac14019bec35ac0dfbdc44dacf190dc9
BLAKE2b-256 ada7b518fb311f99e3082b7cf408bbfa76df066165cc14ef179f53f5489ff3ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b4f2b0a7d2a59f284b2d4ea6f025ca3608d9704ca7df9ebc26b8f15adce8911
MD5 e90efaf716ac752f3222fe74a44c3265
BLAKE2b-256 985f11cd95b072fe7a696c96c998dddd96206aa9a28f760c5e9eab7327adeaa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7ae61fd18b8493296ab2efa4c15b1abfedcd3c982c9c8288d254afb5d0a560e1
MD5 2ca08a31f23f5b5acd074474b6a39044
BLAKE2b-256 cf479097fff143d494c42c8e15f6990c986e8fded1a62a7b477497943310272a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6bcbeccfd30e7fa6071c6bb0c98c1f1a92687d1b996d5d7139e68390e6e8951b
MD5 6c3e5a493c5be1317fe27f43c18d5af6
BLAKE2b-256 014f9b8bf6d5767b856ff483a8d8d4b199139334264c4d2050a528ef3e5d7ce4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 03eb29d72ed5738b16ddbb45a1f0942791f65df2341e8a8d4ecbea919d1b59c2
MD5 65572a653275d388b3d36b174330c386
BLAKE2b-256 fb3a42f0ad11b80f1f3c8d1ab95181a18e64b0182db7c106db168f1e4b6cfc0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76e487b3ebb9b06da8ed7605339289caebd44b2732d4e978dd9fe2802d60612f
MD5 6528a95bd83e2d15b6d67fd7af101bb3
BLAKE2b-256 828b7f9e0828cb43cf9047a5960aa13d80d4239edb1f76e17ae63fdd26c108e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pilk_nogil-0.3.2-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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 63d2c429ccece253818e47f876b1d17fdffbe96119821bf3f1268bf5442f366e
MD5 bf5319dd44437759879f810b419ca55f
BLAKE2b-256 45e65f47123cf24b62d075a749ab4f8ee372a5cfd498b5f05b8a68ce0a1e64d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e2aab67cdebb9bdcb7c222feb814014303fa98d9def88462482a102960529335
MD5 24fa66090b62a2d3b35cf15db0da1e25
BLAKE2b-256 02a7139487a41712f3b075537f3a2ad368acb29929ddf22b7ff8b9b19a607b8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 a69dda1d8e97c955cfc552e9a379013cbd0a4384c8309ec97755e993f799bfde
MD5 2613fe6120896e13ff33aabc1e0d88ce
BLAKE2b-256 6e6f6f23ff8d90b7e713f9c628cbee5dd0d759d6e94378a27eea3e2fbf4ee238

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85dfb28017dccc3ec88704ef870af8a7038911cfc12ac4296cbc4ac1cbfdbaba
MD5 5162c7945283b2ea3800a2205e3375d6
BLAKE2b-256 d15bd4d03443c87923b6191fca59940d268ba4af5506eb95a93cb41fb9194245

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pilk_nogil-0.3.2-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.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d3d7f2a77357f58e749f9e1056546eadf766f08732808fb698e9f8984393b452
MD5 ee7a6565a1e15d9ee5ea3b689130667a
BLAKE2b-256 4c8dfd7f2bd9f854bc8c9c95aaa3614acfc6ee81a214dd0fb6cfe0b7633f6195

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b9be09c0312781865e71f28e83cfe9b8a32cb4601027cb53e8637ef1beee27bc
MD5 aa2967cc7b2712492ceb25d6b3fe462c
BLAKE2b-256 2afe20c88ee0a57f019271969d7e995e90f8835e786be0aef2e3a4eab875c0b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 62f73731803528f52d063469cbc687dcb44fc80e624203e9b1fb33b2ba875bde
MD5 02e63a24e1f8e9f608a19a556a3c5573
BLAKE2b-256 c2db787655ed3265522c93e04482058be55873c3e33474a132020a7560e2b322

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27ad72af111c7f2d45c0db3364219a2d8e49fd429d0652e54ea5c92c13b93ab9
MD5 fb2024f8eab6381b86dd00b66fd7b268
BLAKE2b-256 440f9bfb051876c66b15db8c72ddc684f10a775b187c4cdef54e3e25139004ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d96aa26a305d47c7eddd00bce3d73a3df1023d4942473c1e70e0ff500f0af622
MD5 daeb5727377c3ddc4fcbd5cb6e73a2f3
BLAKE2b-256 9e75ea98841e6a7bd2ef7a56e3926a22bbc2524200f5a7de63c827df808694a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 41446a1c8eae9e527c31694675c02ac7f35defdc4bda1903995ccd5db27b3e0d
MD5 b47ed60965444c91cd7abe92e5cfa2ed
BLAKE2b-256 a6923aa0330e2bc1ded22b63943a495629d4fb88845376e1522a02ce2f7882d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 9e7dccb43a95195c044fc4b0ac49abb58477348ac7767b29f3c6257f84e675aa
MD5 9114168f16afba9c3f11b66e4677e0f1
BLAKE2b-256 e9d9c12a5a0f530364baf28ed249bd11ab92bda840ceaf1e2fec7e358b2ed547

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c82b727580902d8745344a09d2bfffc9801846f31842bbaca8cfdbbc67844b5b
MD5 fe2eeedf4c40edff2b5b08af0ad40cc9
BLAKE2b-256 039e044be2ac96e0ff7a479244097eb84430b3b7b97a1470cf25a203870ec336

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f618c98dcdff0529ed280c81d1eed9fa15ac87fbc7180e327ba95ae209bedb30
MD5 d828fd159f10ce434861357769c4ff87
BLAKE2b-256 f0d541ef90ca114d6f0d9b4f37924c0f20fd3939cc5ef554a14ae7ae0991db7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fb09feb528d9c290440c6bae17cf54ead3436e635a94ddff4903ab01844c65db
MD5 23348f5371a6bd95de4555796f2db720
BLAKE2b-256 1c46c63ebed0589b847be4a8c11ba9f171c5251cae95e1d396112c28eb16f7dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 efde535370b4f48a366bc09b4864eea7b4097afb1432e75bcbd33363453c055d
MD5 cc77849db51915c99b226740e996f23b
BLAKE2b-256 2bbba4844344b00e72e80ed0d1ee6d7ae1098435b785fc265def025959858771

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pilk_nogil-0.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad159f37ce8a8f885255313f1b77d5ac6202d33ca02cc2eb84b70cfea63423de
MD5 5ceb1e26c19da9226504107f5e97b73c
BLAKE2b-256 57d723fa3db31c8d6ea1324c118a2b867c0d4e95544fa926f1a2a4296b055709

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