Name | graiax-silkcoder JSON |
Version |
0.3.6
JSON |
| download |
home_page | |
Summary | transform audio file to silk |
upload_time | 2023-03-25 16:36:57 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | BSD-3-Clause |
keywords |
silkv3
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Graiax-silkcoder
现在版本:[![pypi](https://img.shields.io/pypi/v/graiax-silkcoder?color=blue)](https://pypi.org/project/graiax-silkcoder/)
这,是一个Python的silk转码器
通过将[kn007/silk-v3-decoder](https://github.com/kn007/silk-v3-decoder)通过简单的封装制成
## 安装
### 从 PyPI
```shell
# 如果需要转换非wav的音频文件,则需要自行安装ffmpeg
pip install graiax-silkcoder
# 也可以通过下面的方式使用imageio-ffmpeg中的ffmpeg
pip install graiax-silkcoder[ffmpeg]
# 在 0.3.0 后,可以通过以下方式使用libsndfile来解析音频
pip install graiax-silkcoder[libsndfile]
```
注: 假设你是Windows用户,安装时出现了`error: Microsoft Visual C++ 14.0 is required:`
请安装[Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)
### 从 conda-forge
```shell
conda install graiax-silkcoder -c conda-forge
# 如果需要 ffmpeg,可以一并从 conda-forge 安装
conda install ffmpeg -c conda-forge
```
## Q&A
### ImportError:DLL load failed while importing _silkv3:找不到指定的模块
相关issue: #23
现在本库已经通过 `Github Actions` 来预编译 whl 了,出现这种问题一般不是说没有编译。
如果遇到这种问题,请在[这里](https://aka.ms/vs/17/release/vc_redist.x64.exe)下载最新版本的 **C++ Redistributable**
~~我去除了大部分的 C++ 的代码,但是我保留了一部分,才让你知道,才知道你用的,是 C++~~
### IOS 音频问题
IOS 的音频解码器因为某些**特性**,只支持解码 **25kbps 以下** 的音频。
所以在 0.2.6 中,我们新增了一个 `ios_adaptive` 参数(默认为 False)。
当为 True 时,将把自适应最高码率限制在 24kbps 以下(一般是限制在 100kbps 以下)
### ffmpeg 转换成 `aac` 格式的问题
因为 `graiax-silkcoder` **全程**采用 PIPE 的形式跟 ffmpeg 传输,
所以假设你想要将 silk 转码成 aac 的时候,就会出现一些问题。
解决方法如下
``` python
await silkcoder.async_decode("a.silk", "a.m4a", audio_format="adts")
```
注:ADTS 是 AAC 音频的传输流格式
### 自定义ffmpeg_path
可能有一些用户会想要自定义ffmpeg的路径
你可以使用以下方法解决:
```python
from graiax import silkcoder
silkcoder.set_ffmpeg_path("./ffmpeg")
```
## CLI(0.2.0新增)
使用办法
```bash
# 其他参数与encode / decode 保持一致
python -m graiax.silkcoder encode -i "a.wav" "a.silk"
python -m graiax.silkcoder decode -i "a.silk" "a.wav"
```
## 是 `ffmpeg` 还是 `libsndfile`
在该项目最开始的时候,就有人吐槽过:为了简简单单的音频转换去下载一个大的离谱的 ffmpeg,这也太麻了吧。
(注:虽然说 ffmpeg 可以通过 disable 一大堆不必要视频/滤镜库来达到减小体积的目的,但是这需要自己编译,对小白挺不友好的)
所以,从 0.3.0 开始,开始增加了通过 libsndfile 来使用解析音频。
> libsndfile 是一款广泛用于读写音频文件的C语言库,
他支持包括 flac, ogg, opus, mp3<sup>[[1]](#注)</sup>等多种格式。
注:在同时可以使用 `ffmpeg` 和 `libsndfile` 的情况下, `graiax-silkcoder` 会优先使用 `ffmpeg` 进行转码
## 使用方法
Tips:
因为同步和异步的区别只有前面是否有一个 `async_`
所以下面我们就只拿同步方法距离了
### 编码
你可以传入 pathlike、str、bytes 作为你的输入
```python
from io import BytesIO
from pathlib import Path
from graiax import silkcoder
data: bytes = silkcoder.encode("a.wav")
data: bytes = silkcoder.encode(Path("a.wav"))
data: bytes = silkcoder.encode(Path("a.wav").read_bytes())
data: bytes = silkcoder.encode(BytesIO(Path("a.wav").read_bytes()))
```
它也能输出到 filelike、bytes
```python
from io import BytesIO
from pathlib import Path
from graiax import silkcoder
data: bytes = silkcoder.encode("a.wav")
silkcoder.encode("a.wav", "a.silk")
silkcoder.encode("a.wav", Path("a.silk"))
silkcoder.encode("a.wav", BytesIO())
```
它能做到截取一部分来编码
```python
from graiax import silkcoder
#从最开始截取 5s
silkcoder.encode("a.wav", "a.silk", t=5)
#从第 10s 开始截取 5s
silkcoder.encode("a.wav", "a.silk", ss=10, t=5)
```
你可以指定你的编码器
```python
from graiax import silkcoder
from graiax.silkcoder import Codec
silkcoder.encode("a.mp3", "a.silk", codec = Codec.libsndfile)
silkcoder.encode("a.mp3", "a.silk", codec = Codec.ffmpeg)
```
在 ffmpeg 模式下,你甚至可以直接传入 ffmpeg 参数
```python
from graiax import silkcoder
# 虽然 -vn 是可有可无,但我想不出其他例子了
silkcoder.encode("a.mp4", "a.silk", codec = Codec.ffmpeg,
ffmpeg_para = ["-vn"])
```
你还可以指定输出 silk 的码率大小
```python
from graiax import silkcoder
# 默认状态下将会将尝试将目标语音大小限制在980kb上下
silkcoder.encode("a.wav", "a.silk", rate = 70000)
```
## 解码
跟编码一样,你的输入和输出都支持 pathlike、str、bytes
在非 wave 模式下,你可以写 metadata
```python
from graiax import silkcoder
from graiax.silkcoder import Codec
metadata = {"title": "xx群",
"artist": "xx网友"}
# Tips: 如果你硬是选了 wave,他会忽略 metadata 参数而不是报错
silkcoder.decode("a.silk", "a.flac",
codec = Codec.libsndfile,
metadata = metadata)
```
在 ffmpeg 模式下,你可以选择输出的码率(仅对于有损格式)
在 libsndfile 模式下,你可以选择输出的质量(vbr)(仅对于有损格式)
```python
from graiax import silkcoder
from graiax.silkcoder import Codec
#ffmpeg 转换成 128kbps 的 mp3
silkcoder.decode("a.silk", "a.mp3",
codec = Codec.ffmpeg,
rate = 128000)
#libsndfile 转换为 压缩率最大 的 flac (注,quality 参数只能在 0~ 1 )
silkcoder.decode("a.silk", "a.flac",
codec = Codec.libsndfile,
quality = 1)
```
你甚至可以在 ffmpeg 模式下输入 ffmpeg 参数
```python
from graiax import silkcoder
silkcoder.decode("a.silk", "a.mp3", ffmpeg_para = ["-ar", "44100"])
```
## 注
1. `graiax-silkcoder` 对 `libsndfile` 的支持来源于第三方库 `soundfile`,而该库在 0.11.0 之前并不支持mp3、opus。
可能有一些库会将 `soundfile` 锁定在 0.11.0 版本前,如果 mp3 无法读取,请选择 ffmpeg
Raw data
{
"_id": null,
"home_page": "",
"name": "graiax-silkcoder",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "silkv3",
"author": "",
"author_email": "I Love Study <1450069615@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/ba/87/84574b9944931e1914b42d8940ce2f1f31d8bf4f6aab59a6048b43fdf7a7/graiax-silkcoder-0.3.6.tar.gz",
"platform": null,
"description": "# Graiax-silkcoder\n\n\u73b0\u5728\u7248\u672c\uff1a[![pypi](https://img.shields.io/pypi/v/graiax-silkcoder?color=blue)](https://pypi.org/project/graiax-silkcoder/) \n\u8fd9\uff0c\u662f\u4e00\u4e2aPython\u7684silk\u8f6c\u7801\u5668 \n\u901a\u8fc7\u5c06[kn007/silk-v3-decoder](https://github.com/kn007/silk-v3-decoder)\u901a\u8fc7\u7b80\u5355\u7684\u5c01\u88c5\u5236\u6210\n\n## \u5b89\u88c5\n\n### \u4ece PyPI\n\n```shell\n# \u5982\u679c\u9700\u8981\u8f6c\u6362\u975ewav\u7684\u97f3\u9891\u6587\u4ef6\uff0c\u5219\u9700\u8981\u81ea\u884c\u5b89\u88c5ffmpeg\npip install graiax-silkcoder\n# \u4e5f\u53ef\u4ee5\u901a\u8fc7\u4e0b\u9762\u7684\u65b9\u5f0f\u4f7f\u7528imageio-ffmpeg\u4e2d\u7684ffmpeg\npip install graiax-silkcoder[ffmpeg]\n# \u5728 0.3.0 \u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u4f7f\u7528libsndfile\u6765\u89e3\u6790\u97f3\u9891\npip install graiax-silkcoder[libsndfile]\n```\n\n\u6ce8: \u5047\u8bbe\u4f60\u662fWindows\u7528\u6237\uff0c\u5b89\u88c5\u65f6\u51fa\u73b0\u4e86`error: Microsoft Visual C++ 14.0 is required:` \n\u8bf7\u5b89\u88c5[Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)\n\n### \u4ece conda-forge\n\n```shell\nconda install graiax-silkcoder -c conda-forge\n# \u5982\u679c\u9700\u8981 ffmpeg\uff0c\u53ef\u4ee5\u4e00\u5e76\u4ece conda-forge \u5b89\u88c5\nconda install ffmpeg -c conda-forge\n```\n\n## Q&A\n\n### ImportError\uff1aDLL load failed while importing _silkv3\uff1a\u627e\u4e0d\u5230\u6307\u5b9a\u7684\u6a21\u5757\n\n\u76f8\u5173issue: #23\n\n\u73b0\u5728\u672c\u5e93\u5df2\u7ecf\u901a\u8fc7 `Github Actions` \u6765\u9884\u7f16\u8bd1 whl \u4e86\uff0c\u51fa\u73b0\u8fd9\u79cd\u95ee\u9898\u4e00\u822c\u4e0d\u662f\u8bf4\u6ca1\u6709\u7f16\u8bd1\u3002 \n\u5982\u679c\u9047\u5230\u8fd9\u79cd\u95ee\u9898\uff0c\u8bf7\u5728[\u8fd9\u91cc](https://aka.ms/vs/17/release/vc_redist.x64.exe)\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\u7684 **C++ Redistributable** \n~~\u6211\u53bb\u9664\u4e86\u5927\u90e8\u5206\u7684 C++ \u7684\u4ee3\u7801\uff0c\u4f46\u662f\u6211\u4fdd\u7559\u4e86\u4e00\u90e8\u5206\uff0c\u624d\u8ba9\u4f60\u77e5\u9053\uff0c\u624d\u77e5\u9053\u4f60\u7528\u7684\uff0c\u662f C++~~\n\n### IOS \u97f3\u9891\u95ee\u9898\n\nIOS \u7684\u97f3\u9891\u89e3\u7801\u5668\u56e0\u4e3a\u67d0\u4e9b**\u7279\u6027**\uff0c\u53ea\u652f\u6301\u89e3\u7801 **25kbps \u4ee5\u4e0b** \u7684\u97f3\u9891\u3002 \n\u6240\u4ee5\u5728 0.2.6 \u4e2d\uff0c\u6211\u4eec\u65b0\u589e\u4e86\u4e00\u4e2a `ios_adaptive` \u53c2\u6570\uff08\u9ed8\u8ba4\u4e3a False\uff09\u3002 \n\u5f53\u4e3a True \u65f6\uff0c\u5c06\u628a\u81ea\u9002\u5e94\u6700\u9ad8\u7801\u7387\u9650\u5236\u5728 24kbps \u4ee5\u4e0b\uff08\u4e00\u822c\u662f\u9650\u5236\u5728 100kbps \u4ee5\u4e0b\uff09\n\n### ffmpeg \u8f6c\u6362\u6210 `aac` \u683c\u5f0f\u7684\u95ee\u9898\n\n\u56e0\u4e3a `graiax-silkcoder` **\u5168\u7a0b**\u91c7\u7528 PIPE \u7684\u5f62\u5f0f\u8ddf ffmpeg \u4f20\u8f93\uff0c \n\u6240\u4ee5\u5047\u8bbe\u4f60\u60f3\u8981\u5c06 silk \u8f6c\u7801\u6210 aac \u7684\u65f6\u5019\uff0c\u5c31\u4f1a\u51fa\u73b0\u4e00\u4e9b\u95ee\u9898\u3002 \n\u89e3\u51b3\u65b9\u6cd5\u5982\u4e0b\n\n``` python\nawait silkcoder.async_decode(\"a.silk\", \"a.m4a\", audio_format=\"adts\")\n```\n\n\u6ce8\uff1aADTS \u662f AAC \u97f3\u9891\u7684\u4f20\u8f93\u6d41\u683c\u5f0f\n\n### \u81ea\u5b9a\u4e49ffmpeg_path\n\n\u53ef\u80fd\u6709\u4e00\u4e9b\u7528\u6237\u4f1a\u60f3\u8981\u81ea\u5b9a\u4e49ffmpeg\u7684\u8def\u5f84\n\u4f60\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u65b9\u6cd5\u89e3\u51b3:\n\n```python\nfrom graiax import silkcoder\nsilkcoder.set_ffmpeg_path(\"./ffmpeg\")\n```\n\n## CLI\uff080.2.0\u65b0\u589e\uff09\n\n\u4f7f\u7528\u529e\u6cd5\n\n```bash\n# \u5176\u4ed6\u53c2\u6570\u4e0eencode / decode \u4fdd\u6301\u4e00\u81f4\npython -m graiax.silkcoder encode -i \"a.wav\" \"a.silk\"\npython -m graiax.silkcoder decode -i \"a.silk\" \"a.wav\"\n```\n\n## \u662f `ffmpeg` \u8fd8\u662f `libsndfile`\n\n\u5728\u8be5\u9879\u76ee\u6700\u5f00\u59cb\u7684\u65f6\u5019\uff0c\u5c31\u6709\u4eba\u5410\u69fd\u8fc7\uff1a\u4e3a\u4e86\u7b80\u7b80\u5355\u5355\u7684\u97f3\u9891\u8f6c\u6362\u53bb\u4e0b\u8f7d\u4e00\u4e2a\u5927\u7684\u79bb\u8c31\u7684 ffmpeg\uff0c\u8fd9\u4e5f\u592a\u9ebb\u4e86\u5427\u3002 \n\uff08\u6ce8\uff1a\u867d\u7136\u8bf4 ffmpeg \u53ef\u4ee5\u901a\u8fc7 disable \u4e00\u5927\u5806\u4e0d\u5fc5\u8981\u89c6\u9891/\u6ee4\u955c\u5e93\u6765\u8fbe\u5230\u51cf\u5c0f\u4f53\u79ef\u7684\u76ee\u7684\uff0c\u4f46\u662f\u8fd9\u9700\u8981\u81ea\u5df1\u7f16\u8bd1\uff0c\u5bf9\u5c0f\u767d\u633a\u4e0d\u53cb\u597d\u7684\uff09\n\n\u6240\u4ee5\uff0c\u4ece 0.3.0 \u5f00\u59cb\uff0c\u5f00\u59cb\u589e\u52a0\u4e86\u901a\u8fc7 libsndfile \u6765\u4f7f\u7528\u89e3\u6790\u97f3\u9891\u3002\n\n> libsndfile \u662f\u4e00\u6b3e\u5e7f\u6cdb\u7528\u4e8e\u8bfb\u5199\u97f3\u9891\u6587\u4ef6\u7684C\u8bed\u8a00\u5e93\uff0c\n\u4ed6\u652f\u6301\u5305\u62ec flac, ogg, opus, mp3<sup>[[1]](#\u6ce8)</sup>\u7b49\u591a\u79cd\u683c\u5f0f\u3002\n\n\u6ce8\uff1a\u5728\u540c\u65f6\u53ef\u4ee5\u4f7f\u7528 `ffmpeg` \u548c `libsndfile` \u7684\u60c5\u51b5\u4e0b\uff0c `graiax-silkcoder` \u4f1a\u4f18\u5148\u4f7f\u7528 `ffmpeg` \u8fdb\u884c\u8f6c\u7801\n\n## \u4f7f\u7528\u65b9\u6cd5\n\nTips: \n\u56e0\u4e3a\u540c\u6b65\u548c\u5f02\u6b65\u7684\u533a\u522b\u53ea\u6709\u524d\u9762\u662f\u5426\u6709\u4e00\u4e2a `async_` \n\u6240\u4ee5\u4e0b\u9762\u6211\u4eec\u5c31\u53ea\u62ff\u540c\u6b65\u65b9\u6cd5\u8ddd\u79bb\u4e86\n\n### \u7f16\u7801\n\n\u4f60\u53ef\u4ee5\u4f20\u5165 pathlike\u3001str\u3001bytes \u4f5c\u4e3a\u4f60\u7684\u8f93\u5165\n\n```python\nfrom io import BytesIO\nfrom pathlib import Path\nfrom graiax import silkcoder\n\ndata: bytes = silkcoder.encode(\"a.wav\")\ndata: bytes = silkcoder.encode(Path(\"a.wav\"))\ndata: bytes = silkcoder.encode(Path(\"a.wav\").read_bytes())\ndata: bytes = silkcoder.encode(BytesIO(Path(\"a.wav\").read_bytes()))\n```\n\n\u5b83\u4e5f\u80fd\u8f93\u51fa\u5230 filelike\u3001bytes\n\n```python\nfrom io import BytesIO\nfrom pathlib import Path\nfrom graiax import silkcoder\n\ndata: bytes = silkcoder.encode(\"a.wav\")\nsilkcoder.encode(\"a.wav\", \"a.silk\")\nsilkcoder.encode(\"a.wav\", Path(\"a.silk\"))\nsilkcoder.encode(\"a.wav\", BytesIO())\n```\n\n\u5b83\u80fd\u505a\u5230\u622a\u53d6\u4e00\u90e8\u5206\u6765\u7f16\u7801\n\n```python\nfrom graiax import silkcoder\n\n#\u4ece\u6700\u5f00\u59cb\u622a\u53d6 5s\nsilkcoder.encode(\"a.wav\", \"a.silk\", t=5)\n#\u4ece\u7b2c 10s \u5f00\u59cb\u622a\u53d6 5s\nsilkcoder.encode(\"a.wav\", \"a.silk\", ss=10, t=5)\n```\n\n\u4f60\u53ef\u4ee5\u6307\u5b9a\u4f60\u7684\u7f16\u7801\u5668\n\n```python\nfrom graiax import silkcoder\nfrom graiax.silkcoder import Codec\n\nsilkcoder.encode(\"a.mp3\", \"a.silk\", codec = Codec.libsndfile)\nsilkcoder.encode(\"a.mp3\", \"a.silk\", codec = Codec.ffmpeg)\n```\n\n\u5728 ffmpeg \u6a21\u5f0f\u4e0b\uff0c\u4f60\u751a\u81f3\u53ef\u4ee5\u76f4\u63a5\u4f20\u5165 ffmpeg \u53c2\u6570\n\n```python\nfrom graiax import silkcoder\n\n# \u867d\u7136 -vn \u662f\u53ef\u6709\u53ef\u65e0\uff0c\u4f46\u6211\u60f3\u4e0d\u51fa\u5176\u4ed6\u4f8b\u5b50\u4e86\nsilkcoder.encode(\"a.mp4\", \"a.silk\", codec = Codec.ffmpeg,\n ffmpeg_para = [\"-vn\"])\n```\n\n\u4f60\u8fd8\u53ef\u4ee5\u6307\u5b9a\u8f93\u51fa silk \u7684\u7801\u7387\u5927\u5c0f\n\n```python\nfrom graiax import silkcoder\n\n# \u9ed8\u8ba4\u72b6\u6001\u4e0b\u5c06\u4f1a\u5c06\u5c1d\u8bd5\u5c06\u76ee\u6807\u8bed\u97f3\u5927\u5c0f\u9650\u5236\u5728980kb\u4e0a\u4e0b\nsilkcoder.encode(\"a.wav\", \"a.silk\", rate = 70000)\n```\n\n## \u89e3\u7801\n\n\u8ddf\u7f16\u7801\u4e00\u6837\uff0c\u4f60\u7684\u8f93\u5165\u548c\u8f93\u51fa\u90fd\u652f\u6301 pathlike\u3001str\u3001bytes\n\n\u5728\u975e wave \u6a21\u5f0f\u4e0b\uff0c\u4f60\u53ef\u4ee5\u5199 metadata\n\n```python\nfrom graiax import silkcoder\nfrom graiax.silkcoder import Codec\n\nmetadata = {\"title\": \"xx\u7fa4\",\n \"artist\": \"xx\u7f51\u53cb\"}\n\n# Tips\uff1a \u5982\u679c\u4f60\u786c\u662f\u9009\u4e86 wave\uff0c\u4ed6\u4f1a\u5ffd\u7565 metadata \u53c2\u6570\u800c\u4e0d\u662f\u62a5\u9519\nsilkcoder.decode(\"a.silk\", \"a.flac\", \n codec = Codec.libsndfile,\n metadata = metadata)\n\n```\n\n\u5728 ffmpeg \u6a21\u5f0f\u4e0b\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u8f93\u51fa\u7684\u7801\u7387\uff08\u4ec5\u5bf9\u4e8e\u6709\u635f\u683c\u5f0f\uff09 \n\u5728 libsndfile \u6a21\u5f0f\u4e0b\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u8f93\u51fa\u7684\u8d28\u91cf\uff08vbr\uff09\uff08\u4ec5\u5bf9\u4e8e\u6709\u635f\u683c\u5f0f\uff09 \n\n```python\nfrom graiax import silkcoder\nfrom graiax.silkcoder import Codec\n\n#ffmpeg \u8f6c\u6362\u6210 128kbps \u7684 mp3\nsilkcoder.decode(\"a.silk\", \"a.mp3\", \n codec = Codec.ffmpeg,\n rate = 128000)\n#libsndfile \u8f6c\u6362\u4e3a \u538b\u7f29\u7387\u6700\u5927 \u7684 flac \uff08\u6ce8\uff0cquality \u53c2\u6570\u53ea\u80fd\u5728 0~ 1 \uff09\nsilkcoder.decode(\"a.silk\", \"a.flac\", \n codec = Codec.libsndfile,\n quality = 1)\n\n```\n\n\u4f60\u751a\u81f3\u53ef\u4ee5\u5728 ffmpeg \u6a21\u5f0f\u4e0b\u8f93\u5165 ffmpeg \u53c2\u6570\n\n```python\nfrom graiax import silkcoder\n\nsilkcoder.decode(\"a.silk\", \"a.mp3\", ffmpeg_para = [\"-ar\", \"44100\"])\n```\n\n## \u6ce8\n\n1. `graiax-silkcoder` \u5bf9 `libsndfile` \u7684\u652f\u6301\u6765\u6e90\u4e8e\u7b2c\u4e09\u65b9\u5e93 `soundfile`\uff0c\u800c\u8be5\u5e93\u5728 0.11.0 \u4e4b\u524d\u5e76\u4e0d\u652f\u6301mp3\u3001opus\u3002 \n \u53ef\u80fd\u6709\u4e00\u4e9b\u5e93\u4f1a\u5c06 `soundfile` \u9501\u5b9a\u5728 0.11.0 \u7248\u672c\u524d\uff0c\u5982\u679c mp3 \u65e0\u6cd5\u8bfb\u53d6\uff0c\u8bf7\u9009\u62e9 ffmpeg\n\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "transform audio file to silk",
"version": "0.3.6",
"split_keywords": [
"silkv3"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8068e3f9aee7d09a1bcad58a5f2fd8b981a4a47e60992949a3e35a3beb148d40",
"md5": "817c9ed62362553413a68ee7895b79ff",
"sha256": "6e2acbdfb2a23f2d04785e0a8a822647074b11325aa405ec8b8bd3b853fc7a8c"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "817c9ed62362553413a68ee7895b79ff",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 161758,
"upload_time": "2023-03-25T16:36:01",
"upload_time_iso_8601": "2023-03-25T16:36:01.822574Z",
"url": "https://files.pythonhosted.org/packages/80/68/e3f9aee7d09a1bcad58a5f2fd8b981a4a47e60992949a3e35a3beb148d40/graiax_silkcoder-0.3.6-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a774e7f0858d4dbf47b4faf362067cf0b7466abced0b62463f1160a636968467",
"md5": "f37aadf7966b8db0ee8f56f02b4bf732",
"sha256": "d4baebd4c8205f2ba2d98b6aa3ea4b0d5dd35a4aba6b9f8b1f4ac5d2f03071e9"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f37aadf7966b8db0ee8f56f02b4bf732",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 147544,
"upload_time": "2023-03-25T16:36:03",
"upload_time_iso_8601": "2023-03-25T16:36:03.737676Z",
"url": "https://files.pythonhosted.org/packages/a7/74/e7f0858d4dbf47b4faf362067cf0b7466abced0b62463f1160a636968467/graiax_silkcoder-0.3.6-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b93924aa90128ae91d4c765e0933ed27fd54f282bea35aba0c45c9ea13c9844d",
"md5": "4858028dfa10a140b62b993b0cdbbfb9",
"sha256": "5ea69e8d8f3865b633ef1bfa7b977bb5b8620e54643351970914e87a59b00dc2"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "4858028dfa10a140b62b993b0cdbbfb9",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 504162,
"upload_time": "2023-03-25T16:36:05",
"upload_time_iso_8601": "2023-03-25T16:36:05.501521Z",
"url": "https://files.pythonhosted.org/packages/b9/39/24aa90128ae91d4c765e0933ed27fd54f282bea35aba0c45c9ea13c9844d/graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cf17481f8564e5c5cd7591d855e3e7db6a673784a07d0d16624cae30e318d846",
"md5": "13e79838cfc926e1896672b2c29cc218",
"sha256": "cdbefd099536bf0f11eb2a55399a402defafeeeae8c96b2996b90d747ca58eec"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "13e79838cfc926e1896672b2c29cc218",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 521926,
"upload_time": "2023-03-25T16:36:06",
"upload_time_iso_8601": "2023-03-25T16:36:06.653109Z",
"url": "https://files.pythonhosted.org/packages/cf/17/481f8564e5c5cd7591d855e3e7db6a673784a07d0d16624cae30e318d846/graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fd274699e22e97b7a2a70fe3ebac5def78d692bd1b785f70517c2cbcc6b762ab",
"md5": "8e386f27f10f6d93fcd07d202aa969dc",
"sha256": "4b0bfe8ea2024d08a4d7e127deffaa0f855a832dee6d954a0588e97a6f9a9d4f"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "8e386f27f10f6d93fcd07d202aa969dc",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 498032,
"upload_time": "2023-03-25T16:36:07",
"upload_time_iso_8601": "2023-03-25T16:36:07.863190Z",
"url": "https://files.pythonhosted.org/packages/fd/27/4699e22e97b7a2a70fe3ebac5def78d692bd1b785f70517c2cbcc6b762ab/graiax_silkcoder-0.3.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "acfec3cd87521d1b843e123a88cdc8ad84d27993f8da08f1933c16152d91830c",
"md5": "529fd38cfb1927fadf4a69f55e9f4783",
"sha256": "b656845440859d1a1270fe92c984e6ccffa761e30c4b00fb53021b25e0d18512"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_aarch64.whl",
"has_sig": false,
"md5_digest": "529fd38cfb1927fadf4a69f55e9f4783",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1070559,
"upload_time": "2023-03-25T16:36:09",
"upload_time_iso_8601": "2023-03-25T16:36:09.222320Z",
"url": "https://files.pythonhosted.org/packages/ac/fe/c3cd87521d1b843e123a88cdc8ad84d27993f8da08f1933c16152d91830c/graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e4898ae6a8c97520e0f5ab85cf3c3fcd0751b260cd74e9d7e0bb361b5980ee5",
"md5": "401a1aadd0b9650c28aa468ac5be6238",
"sha256": "85f92f0482cab0f356cf27629308d0b53663a3abd539a0c418b94f60c2b5ce9c"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "401a1aadd0b9650c28aa468ac5be6238",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1089016,
"upload_time": "2023-03-25T16:36:10",
"upload_time_iso_8601": "2023-03-25T16:36:10.955453Z",
"url": "https://files.pythonhosted.org/packages/1e/48/98ae6a8c97520e0f5ab85cf3c3fcd0751b260cd74e9d7e0bb361b5980ee5/graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b440f1770f215d7a039b778f9b3c9423176e5878d65177168fc445b7ec2f1420",
"md5": "f5ced0df84b216c8416d9cb7acdc05e6",
"sha256": "f503d05aac8ec0d39ee094205d377befdf77ae71ba4f4dd096de0e72bf554f17"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "f5ced0df84b216c8416d9cb7acdc05e6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 1093606,
"upload_time": "2023-03-25T16:36:12",
"upload_time_iso_8601": "2023-03-25T16:36:12.777280Z",
"url": "https://files.pythonhosted.org/packages/b4/40/f1770f215d7a039b778f9b3c9423176e5878d65177168fc445b7ec2f1420/graiax_silkcoder-0.3.6-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f5ef92b9dde66bdda31a99765c056c25263347cdba66c3c595a1e7bbb9a4ea85",
"md5": "a2757f9f970f60864dd81530e85e7559",
"sha256": "06da1386bf314b247187e1977e782f747319ebf671e89bccda1691dc2ef8e393"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "a2757f9f970f60864dd81530e85e7559",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 106105,
"upload_time": "2023-03-25T16:36:14",
"upload_time_iso_8601": "2023-03-25T16:36:14.359797Z",
"url": "https://files.pythonhosted.org/packages/f5/ef/92b9dde66bdda31a99765c056c25263347cdba66c3c595a1e7bbb9a4ea85/graiax_silkcoder-0.3.6-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5afd1ba113b6ecf317b7510d6ad7cb10d4691c9b32d8f0ceb6e88db15299c78e",
"md5": "fcbcfaf41b962d3e2e8e43df7b487fd8",
"sha256": "9c2c413be55efff52b7d0bb7d854ad5a6a99246149de8c4cfe2ea6ec919c8d12"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "fcbcfaf41b962d3e2e8e43df7b487fd8",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 124101,
"upload_time": "2023-03-25T16:36:15",
"upload_time_iso_8601": "2023-03-25T16:36:15.984170Z",
"url": "https://files.pythonhosted.org/packages/5a/fd/1ba113b6ecf317b7510d6ad7cb10d4691c9b32d8f0ceb6e88db15299c78e/graiax_silkcoder-0.3.6-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "70d875f19a04e6b9106b0ad0f2a00aa492c5905d3ae9249da823ea6b5c3e94d3",
"md5": "0ed5ee6f53ba60d7ab52c4e9904a7093",
"sha256": "9068ed7a00ebb0532431429d6280cfb7b49b72d24e275f164a5b09db2ee711ff"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "0ed5ee6f53ba60d7ab52c4e9904a7093",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 161755,
"upload_time": "2023-03-25T16:36:17",
"upload_time_iso_8601": "2023-03-25T16:36:17.180391Z",
"url": "https://files.pythonhosted.org/packages/70/d8/75f19a04e6b9106b0ad0f2a00aa492c5905d3ae9249da823ea6b5c3e94d3/graiax_silkcoder-0.3.6-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "21d925fcf3e0ed2a2fd37fe7ccc40a603704b47a8329c102acd7a18cfe12a048",
"md5": "7aefe88399e094caea0e906bc8188ae5",
"sha256": "26ea6b282f8866d089eac1efb0c4fe3fedcbfa3107b477756856251786be3063"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "7aefe88399e094caea0e906bc8188ae5",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 147552,
"upload_time": "2023-03-25T16:36:18",
"upload_time_iso_8601": "2023-03-25T16:36:18.391079Z",
"url": "https://files.pythonhosted.org/packages/21/d9/25fcf3e0ed2a2fd37fe7ccc40a603704b47a8329c102acd7a18cfe12a048/graiax_silkcoder-0.3.6-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "798d1ffe885a99fb3a0cf11d50ccac254ccb47526e38e1eaf91f7152bfc646ad",
"md5": "5b69aa1725ee2414340048ea36f68e76",
"sha256": "ea1aef10328bd55777faf4ee7ef10a4e4a0034b3c2cc8a95d5125ec253953d81"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "5b69aa1725ee2414340048ea36f68e76",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 504899,
"upload_time": "2023-03-25T16:36:20",
"upload_time_iso_8601": "2023-03-25T16:36:20.075752Z",
"url": "https://files.pythonhosted.org/packages/79/8d/1ffe885a99fb3a0cf11d50ccac254ccb47526e38e1eaf91f7152bfc646ad/graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "644f23ae2a8df4dcc36bdfc53e2e560381966f7718597be730d19322ab37d6d8",
"md5": "7061d66d4424436e599f7642bc59f4cd",
"sha256": "8095387f0e1842667c1a0bd60ebe281385119476499b7370663ea97bbc561db6"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7061d66d4424436e599f7642bc59f4cd",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 522781,
"upload_time": "2023-03-25T16:36:21",
"upload_time_iso_8601": "2023-03-25T16:36:21.277904Z",
"url": "https://files.pythonhosted.org/packages/64/4f/23ae2a8df4dcc36bdfc53e2e560381966f7718597be730d19322ab37d6d8/graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94f3dc25e12e24bce91299f27f7e093d6f745af110d591dc4d0124a6668f2712",
"md5": "33b8d74c030572403ce42a583c6cbe5c",
"sha256": "c04ab59ed0334db382da7e4845feaf52439705dadb0e53509004d71ef289c38d"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "33b8d74c030572403ce42a583c6cbe5c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 498895,
"upload_time": "2023-03-25T16:36:22",
"upload_time_iso_8601": "2023-03-25T16:36:22.923368Z",
"url": "https://files.pythonhosted.org/packages/94/f3/dc25e12e24bce91299f27f7e093d6f745af110d591dc4d0124a6668f2712/graiax_silkcoder-0.3.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1f76e2f51fdf03d4134657becf127669189f0e78379a7c0c42acba90c0fa4cfc",
"md5": "80ef55c95eff9cdbda527378970cb3b8",
"sha256": "e3aae09e3a4f92bd1beaf5915689b97b36a25543469d6a5fcbee562e574e30b5"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_aarch64.whl",
"has_sig": false,
"md5_digest": "80ef55c95eff9cdbda527378970cb3b8",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1071349,
"upload_time": "2023-03-25T16:36:24",
"upload_time_iso_8601": "2023-03-25T16:36:24.553044Z",
"url": "https://files.pythonhosted.org/packages/1f/76/e2f51fdf03d4134657becf127669189f0e78379a7c0c42acba90c0fa4cfc/graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "41877dc92b4f98d019d45da926ac191d61cb4c236e90a2544facacefd6d9a2db",
"md5": "0a1d53264a723a523ce651d72272e376",
"sha256": "c110f140675f3b04e3642e224c77e8bcfdef371b3a9a0cd1d50294404f38d53e"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "0a1d53264a723a523ce651d72272e376",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1089731,
"upload_time": "2023-03-25T16:36:26",
"upload_time_iso_8601": "2023-03-25T16:36:26.297904Z",
"url": "https://files.pythonhosted.org/packages/41/87/7dc92b4f98d019d45da926ac191d61cb4c236e90a2544facacefd6d9a2db/graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "375782279870486dfa2d3abc3579f4252ececab02eec16e83d04fd28ee59858d",
"md5": "8359122d7504cd3dbcfce66f578f5810",
"sha256": "1c1b8d09823225641f3c336e692fea582be2337b29782d44ecd78970f1ce23ee"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "8359122d7504cd3dbcfce66f578f5810",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 1094352,
"upload_time": "2023-03-25T16:36:27",
"upload_time_iso_8601": "2023-03-25T16:36:27.509500Z",
"url": "https://files.pythonhosted.org/packages/37/57/82279870486dfa2d3abc3579f4252ececab02eec16e83d04fd28ee59858d/graiax_silkcoder-0.3.6-cp311-cp311-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "40d7594d4dfd11be6be72c4c7ebd171b94a2f9d542e4e80b1a915168f79b76ac",
"md5": "df3b5343a69232a82afd8a58b2d08e34",
"sha256": "ebd5a021cd26c41875015f38a9e01ef9df88b1840728a0e80b34a3c611ee8793"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "df3b5343a69232a82afd8a58b2d08e34",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 106106,
"upload_time": "2023-03-25T16:36:28",
"upload_time_iso_8601": "2023-03-25T16:36:28.618300Z",
"url": "https://files.pythonhosted.org/packages/40/d7/594d4dfd11be6be72c4c7ebd171b94a2f9d542e4e80b1a915168f79b76ac/graiax_silkcoder-0.3.6-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bff5322ba14629e3f40d3fbc3ff93d14dc4a2178c245a3f33016efc713016448",
"md5": "1e096d015705bbae1a2598050f79ecc3",
"sha256": "bcc8595158306748a03c99a7b89bb4f0a459458ec0144c4add0861d7bce132e2"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "1e096d015705bbae1a2598050f79ecc3",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 124102,
"upload_time": "2023-03-25T16:36:30",
"upload_time_iso_8601": "2023-03-25T16:36:30.698571Z",
"url": "https://files.pythonhosted.org/packages/bf/f5/322ba14629e3f40d3fbc3ff93d14dc4a2178c245a3f33016efc713016448/graiax_silkcoder-0.3.6-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d38d44eb89d1d3f209fe1b5dd59cc7d13762aa5ef27ed09cfa9ac2b8e4ba0dc4",
"md5": "aa3c1c42ab0486559237407c476b80f6",
"sha256": "9121d10cbf890606b654f37e69c3d346d0053c5288fa14bc1b394cbe23293995"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "aa3c1c42ab0486559237407c476b80f6",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 161768,
"upload_time": "2023-03-25T16:36:31",
"upload_time_iso_8601": "2023-03-25T16:36:31.784523Z",
"url": "https://files.pythonhosted.org/packages/d3/8d/44eb89d1d3f209fe1b5dd59cc7d13762aa5ef27ed09cfa9ac2b8e4ba0dc4/graiax_silkcoder-0.3.6-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48742d42909fbc1dc04a5f6931ee31d8805af6509f65b7647e7470d8966ae6cc",
"md5": "c541d9689bcde2cb8e9ef02fe5db0afa",
"sha256": "0d1c4b5b55679f18057846a1822b7341dd5d44417c563e1af2c53d441f3efdf5"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c541d9689bcde2cb8e9ef02fe5db0afa",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 147560,
"upload_time": "2023-03-25T16:36:33",
"upload_time_iso_8601": "2023-03-25T16:36:33.455909Z",
"url": "https://files.pythonhosted.org/packages/48/74/2d42909fbc1dc04a5f6931ee31d8805af6509f65b7647e7470d8966ae6cc/graiax_silkcoder-0.3.6-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7884f066ffb316898c249eda865c750ce86524a969e0a2a7fbae8a79f71942dd",
"md5": "0bc9cf121e3f0cabe7b57612a3232e66",
"sha256": "4128841660ead23c0551bd6c223773f765988018a71ca8921eebf6d497ce1fbc"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "0bc9cf121e3f0cabe7b57612a3232e66",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 503895,
"upload_time": "2023-03-25T16:36:34",
"upload_time_iso_8601": "2023-03-25T16:36:34.547458Z",
"url": "https://files.pythonhosted.org/packages/78/84/f066ffb316898c249eda865c750ce86524a969e0a2a7fbae8a79f71942dd/graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1c2c8df9ee57dc0911fe48ae0a4d79a2c736c3a84ca16d18659540524d984508",
"md5": "ac351d3e6d0c6e26f42aee63b24864db",
"sha256": "f104347d8bcdbe09b0f81303f7b0f8525663333c5659c145cd7dd931079c2317"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ac351d3e6d0c6e26f42aee63b24864db",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 521653,
"upload_time": "2023-03-25T16:36:35",
"upload_time_iso_8601": "2023-03-25T16:36:35.608645Z",
"url": "https://files.pythonhosted.org/packages/1c/2c/8df9ee57dc0911fe48ae0a4d79a2c736c3a84ca16d18659540524d984508/graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c0f59c8012579e97152a6fc31fbf85b4c2e8613788d849eb24084f47f239b6fe",
"md5": "cecd5b4fba4a943abdc1dc75beaf2efc",
"sha256": "2d42d8b5f78b45a1b8338debd5a49e2744f0012e4191088f4e467a518ae1b0e7"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "cecd5b4fba4a943abdc1dc75beaf2efc",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 497823,
"upload_time": "2023-03-25T16:36:36",
"upload_time_iso_8601": "2023-03-25T16:36:36.763123Z",
"url": "https://files.pythonhosted.org/packages/c0/f5/9c8012579e97152a6fc31fbf85b4c2e8613788d849eb24084f47f239b6fe/graiax_silkcoder-0.3.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ec10e066306524b6c485ba2f046d820511b4bcbfec47bf832d515e11edbd94c6",
"md5": "ad14b032f8bc51d93897d238f9ec4e4b",
"sha256": "15ceedadd78cc6a3dd1d53b176769a2996ca4b8314f272746e1570752ed3cd9f"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_aarch64.whl",
"has_sig": false,
"md5_digest": "ad14b032f8bc51d93897d238f9ec4e4b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 1070500,
"upload_time": "2023-03-25T16:36:37",
"upload_time_iso_8601": "2023-03-25T16:36:37.852715Z",
"url": "https://files.pythonhosted.org/packages/ec/10/e066306524b6c485ba2f046d820511b4bcbfec47bf832d515e11edbd94c6/graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "35dfda62aa6cd32b31fbc0a47d007db7539b83965729ef5bd2b93940eff803e9",
"md5": "f6d0af9d15d1ec68f49edd87c0c3627b",
"sha256": "26b540240aaa036a94a89284d026393f64988f65aefb87ef2167e59f66a96154"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "f6d0af9d15d1ec68f49edd87c0c3627b",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 1088955,
"upload_time": "2023-03-25T16:36:38",
"upload_time_iso_8601": "2023-03-25T16:36:38.994935Z",
"url": "https://files.pythonhosted.org/packages/35/df/da62aa6cd32b31fbc0a47d007db7539b83965729ef5bd2b93940eff803e9/graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "012f24f9c2f1e944ac9646c504bdfd642c402e652efd6639dd16483a9d730725",
"md5": "5a759a8c527121973c9936a7fb9f903d",
"sha256": "8218a5d8099aabec393403032a27a4fa504274b420b2390cbc48cdec72e33a27"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "5a759a8c527121973c9936a7fb9f903d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 1093617,
"upload_time": "2023-03-25T16:36:40",
"upload_time_iso_8601": "2023-03-25T16:36:40.380445Z",
"url": "https://files.pythonhosted.org/packages/01/2f/24f9c2f1e944ac9646c504bdfd642c402e652efd6639dd16483a9d730725/graiax_silkcoder-0.3.6-cp38-cp38-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "94b547895b5720be732924307337199dd05fb053a7f6cc0879e1d273169b3062",
"md5": "f75a658261ab0468231f04608421700d",
"sha256": "9a28c2e66ffc1d8509a5f65f81cb44a888e4979f794ac8be64be95abdb496190"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "f75a658261ab0468231f04608421700d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 106100,
"upload_time": "2023-03-25T16:36:41",
"upload_time_iso_8601": "2023-03-25T16:36:41.574991Z",
"url": "https://files.pythonhosted.org/packages/94/b5/47895b5720be732924307337199dd05fb053a7f6cc0879e1d273169b3062/graiax_silkcoder-0.3.6-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ef8b8f67d3a90e2a56dc13cc336d88d885318e8c6e028d0d0b19607125c0d505",
"md5": "20f73eb89d58c239f93be66856575eab",
"sha256": "a3a22977d7629a3db65d35c7733417900b219051dbd9ad80d473a4f7aa3943ad"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "20f73eb89d58c239f93be66856575eab",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 124099,
"upload_time": "2023-03-25T16:36:43",
"upload_time_iso_8601": "2023-03-25T16:36:43.185578Z",
"url": "https://files.pythonhosted.org/packages/ef/8b/8f67d3a90e2a56dc13cc336d88d885318e8c6e028d0d0b19607125c0d505/graiax_silkcoder-0.3.6-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b593b26e0323db45cd768804acca880a44cb9a33066681e54d93af0cf44e802",
"md5": "3cdc79f50b745c2094d329fe0b0e517e",
"sha256": "2e8ba31b3ebc05a67b32e4c694918ad32acbe61fef6c87a0e682231cc5b400c4"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "3cdc79f50b745c2094d329fe0b0e517e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 161766,
"upload_time": "2023-03-25T16:36:44",
"upload_time_iso_8601": "2023-03-25T16:36:44.298090Z",
"url": "https://files.pythonhosted.org/packages/6b/59/3b26e0323db45cd768804acca880a44cb9a33066681e54d93af0cf44e802/graiax_silkcoder-0.3.6-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8c528923eef2d133eec5c937c8833f27489679341da2f2eb2a78752924011ab8",
"md5": "a24f621b8bcdf0f9f6dbaeba5fec61bd",
"sha256": "a4d54c214705fd752d6d944a3adfdbe3bd344693207294cdce061add2d0915a6"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a24f621b8bcdf0f9f6dbaeba5fec61bd",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 147539,
"upload_time": "2023-03-25T16:36:45",
"upload_time_iso_8601": "2023-03-25T16:36:45.439767Z",
"url": "https://files.pythonhosted.org/packages/8c/52/8923eef2d133eec5c937c8833f27489679341da2f2eb2a78752924011ab8/graiax_silkcoder-0.3.6-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3b47f244b6cc4c3ce7a20b4718f43c17cba61036df30af7427ee0273f12b9c4b",
"md5": "2be0251903a99d008ec7d94c48a93a43",
"sha256": "bd99a9e274a313b46bd19eccc351adcb8a60dd76560b51617d72ac07a1c953a1"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "2be0251903a99d008ec7d94c48a93a43",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 503963,
"upload_time": "2023-03-25T16:36:46",
"upload_time_iso_8601": "2023-03-25T16:36:46.568907Z",
"url": "https://files.pythonhosted.org/packages/3b/47/f244b6cc4c3ce7a20b4718f43c17cba61036df30af7427ee0273f12b9c4b/graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "018fe3aa707a50869f405f5b2f55dfeb25b44e50dbb749641db861034aa42d67",
"md5": "9dca658321e8db1fb18041fe6c262193",
"sha256": "8fe53ad28332338b2ce924b8854c6838e78df1ad22053ec24709a68fd12d3b48"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9dca658321e8db1fb18041fe6c262193",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 521692,
"upload_time": "2023-03-25T16:36:47",
"upload_time_iso_8601": "2023-03-25T16:36:47.757494Z",
"url": "https://files.pythonhosted.org/packages/01/8f/e3aa707a50869f405f5b2f55dfeb25b44e50dbb749641db861034aa42d67/graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "93a4d67da08130490b393786af9142cd13e6447251ad62e60a1efb481d7a3364",
"md5": "b2eb9ad91e11714a5c78ca77b5cb25ec",
"sha256": "58fe593712ab7fed255eeb8db5bfbcdacbf0277891d0d4ed7e61fba07353e079"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "b2eb9ad91e11714a5c78ca77b5cb25ec",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 497789,
"upload_time": "2023-03-25T16:36:48",
"upload_time_iso_8601": "2023-03-25T16:36:48.962674Z",
"url": "https://files.pythonhosted.org/packages/93/a4/d67da08130490b393786af9142cd13e6447251ad62e60a1efb481d7a3364/graiax_silkcoder-0.3.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8e0a682aba21d32763cd8447a083b6518094d771b3b5451c06db6ad033a56683",
"md5": "41ec88b7ac6c529bfdf94d277a7ac313",
"sha256": "236783604dfb889f6da5743d9f7e8ec94e1e9b2ffaba6ec5009014d1661e9eb6"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_aarch64.whl",
"has_sig": false,
"md5_digest": "41ec88b7ac6c529bfdf94d277a7ac313",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1070337,
"upload_time": "2023-03-25T16:36:50",
"upload_time_iso_8601": "2023-03-25T16:36:50.203571Z",
"url": "https://files.pythonhosted.org/packages/8e/0a/682aba21d32763cd8447a083b6518094d771b3b5451c06db6ad033a56683/graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c569ecf71c21c29cf359490a1f42cbc885e27b5b0b87431ebd78613cbdac3f46",
"md5": "972cf301030c7069816e1f0ce2bbfe2d",
"sha256": "7d58375c20bd89ec71111a3c874302b11d9491ed3cd5266fce2533d8253b0e74"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "972cf301030c7069816e1f0ce2bbfe2d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1088635,
"upload_time": "2023-03-25T16:36:52",
"upload_time_iso_8601": "2023-03-25T16:36:52.072434Z",
"url": "https://files.pythonhosted.org/packages/c5/69/ecf71c21c29cf359490a1f42cbc885e27b5b0b87431ebd78613cbdac3f46/graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "156df62c0db04b0472bae5f02e924d691282683cfe2970ab87df20b84d9bbc9d",
"md5": "162f5a6e8a8dade85b80b7f87cd8f412",
"sha256": "f325b1381f3f37d83e58ceca015ab1d8895f901234cd77dfee06d521e2324099"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "162f5a6e8a8dade85b80b7f87cd8f412",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 1093401,
"upload_time": "2023-03-25T16:36:53",
"upload_time_iso_8601": "2023-03-25T16:36:53.485395Z",
"url": "https://files.pythonhosted.org/packages/15/6d/f62c0db04b0472bae5f02e924d691282683cfe2970ab87df20b84d9bbc9d/graiax_silkcoder-0.3.6-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3becdafa93c489b68dcf6710b27b8696da9c5206aa37e696e6a4e3d7ecc98c4d",
"md5": "9f341f38c6f2bc0a9796e6f127263b08",
"sha256": "b54a805af9b1327f92e7fab04fa216b901d8e747b44f88f58a23aced059cd1f3"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "9f341f38c6f2bc0a9796e6f127263b08",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 106104,
"upload_time": "2023-03-25T16:36:54",
"upload_time_iso_8601": "2023-03-25T16:36:54.633509Z",
"url": "https://files.pythonhosted.org/packages/3b/ec/dafa93c489b68dcf6710b27b8696da9c5206aa37e696e6a4e3d7ecc98c4d/graiax_silkcoder-0.3.6-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0aef250648d16c4cb401f211e62d98e6dcbb8768adcaa95a2639187e091594c7",
"md5": "591ab6e8be340071a7e4b5efc3eb7cb4",
"sha256": "4bf6a3b35e45684168851c6d24409f79cb2a1d574912d29b4ba19d4a4a6c602a"
},
"downloads": -1,
"filename": "graiax_silkcoder-0.3.6-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "591ab6e8be340071a7e4b5efc3eb7cb4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 124097,
"upload_time": "2023-03-25T16:36:55",
"upload_time_iso_8601": "2023-03-25T16:36:55.735979Z",
"url": "https://files.pythonhosted.org/packages/0a/ef/250648d16c4cb401f211e62d98e6dcbb8768adcaa95a2639187e091594c7/graiax_silkcoder-0.3.6-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ba8784574b9944931e1914b42d8940ce2f1f31d8bf4f6aab59a6048b43fdf7a7",
"md5": "6e17007eaa03872424fce203f0b3ae9e",
"sha256": "632c2c05a1d8fd5ef062b80fcdc9fe7f24c4235c678145998adf29731e0504e3"
},
"downloads": -1,
"filename": "graiax-silkcoder-0.3.6.tar.gz",
"has_sig": false,
"md5_digest": "6e17007eaa03872424fce203f0b3ae9e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 209400,
"upload_time": "2023-03-25T16:36:57",
"upload_time_iso_8601": "2023-03-25T16:36:57.347216Z",
"url": "https://files.pythonhosted.org/packages/ba/87/84574b9944931e1914b42d8940ce2f1f31d8bf4f6aab59a6048b43fdf7a7/graiax-silkcoder-0.3.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-25 16:36:57",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "graiax-silkcoder"
}