libtakiyasha


Namelibtakiyasha JSON
Version 2.1.0 PyPI version JSON
download
home_page
Summary多种加密方案的 Python 实现
upload_time2023-02-10 19:30:17
maintainer
docs_urlNone
authornukemiko
requires_python>=3.8
licenseMIT License Copyright (c) 2023 nukemiko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords unlock music audio qmc ncm mflac mgg netease 163 qqmusic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # LibTakiyasha ![](https://img.shields.io/badge/Python-3.8%2B-blue)

LibTakiyasha 是一个 Python 音频加密/解密工具库(当然也可用于加密非音频数据),支持多种加密文件格式。**LibTakiyasha 不提供任何命令行或图形界面支持。**

## 使用前必读

**本项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循 [License](LICENSE)。**

本项目的设计灵感,以及部分解密方案,来源于<span id='similar-projects'>同类项目</span>:

-   [Unlock Music Project - CLI Edition](https://git.unlock-music.dev/um/cli)
-   [parakeet-rs/libparakeet](https://github.com/parakeet-rs/libparakeet)

**本项目不内置任何密钥,要正常打开/保存任何类型的加密文件,你需要提供正确的对应的密钥。你需要自行寻找解密所需密钥或加密参数,在调用时作为参数传入。**

如果你要解密别人提供的文件,你可以从提供者处索要密钥,或者寻求同类项目和他人的帮助。

**LibTakiyasha 对输出数据的可用性(是否可以识别、播放等)不做任何保证。**

---

## 新变化?

请参阅[变更记录](CHANGELOG.md)。

(如果你是在 PyPI 上浏览本项目,它可能会出现在页面的底部,[点按此处跳转](#变更记录)。)

## 特性

-   使用纯 Python 代码编写
    -   **兼容 Python 3.8 及后续版本**,兼容多种 Python 解释器实现
        -   可在[此处](https://github.com/nukemiko/libtakiyasha/wiki/%E6%80%A7%E8%83%BD%E8%A1%A8%E7%8E%B0)查看具体兼容哪些实现
    -   易于阅读,方便 Python 爱好者学习
    -   (包括依赖库)无任何 C/C++ 扩展模块,跨平台性强
-   支持四种加密文件:
    -   网易云音乐加密文件 `.ncm`
    -   QQ 音乐加密文件 QMCv1 `.qmc[0-9]`、`.qmcflac`、`.qmcogg`、`.qmcra` 等
    -   QQ 音乐加密文件 QMCv2 `.mflac[0-9]`、`.mgg[0-9]` 等
    -   酷狗音乐加密文件 KGM/VPR `.kgm`、`.vpr`
        -   不支持创建新加密文件
    -   酷我音乐加密文件 `.kwm`
    -   更多信息,请参见[此处](https://github.com/nukemiko/libtakiyasha/wiki/%E6%94%AF%E6%8C%81%E7%9A%84%E6%A0%BC%E5%BC%8F%E4%BB%A5%E5%8F%8A%E6%89%80%E9%9C%80%E7%9A%84%E5%8F%82%E6%95%B0)

### 性能表现

参见[此处](https://github.com/nukemiko/libtakiyasha/wiki/%E6%80%A7%E8%83%BD%E8%A1%A8%E7%8E%B0)。

## 安装

可用的最新版本:2.1.0,[GitHub 发布页面](https://github.com/nukemiko/libtakiyasha/releases/tag/2.1.0),[PyPI](https://pypi.org/project/libtakiyasha/2.1.0/)

### 安装方式

-   使用 `pip`,通过 PyPI 安装最新版本:`python -m pip install -U libtakiyasha`

如果你要下载其他版本:

-   PyPI:https://pypi.org/project/libtakiyasha/#history ,挑选自己所需的版本,下载安装包,手动安装。
    -   或者使用 pip 安装:`python -m pip install -U libtakiyasha==<你所需的版本>`
-   前往[发布页面](https://github.com/nukemiko/libtakiyasha/releases)挑选自己所需的版本,下载安装包,手动安装。

### 依赖项

LibTakiyasha 依赖以下包,均可从 PyPI 获取:

-   [pyaes](https://pypi.org/project/pyaes/) - 用于加解密 NCM 文件内嵌的主密钥和元数据
-   [mutagen](https://pypi.org/project/mutagen/) - 用于以 `mutagen` 可接受的形式导出 NCM 文件内嵌的元数据

## 如何使用?

在[这里](https://github.com/nukemiko/libtakiyasha/wiki/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%8F%8A%E7%A4%BA%E4%BE%8B)可以找到使用方法和示例。

同时,在[本项目的 Wiki 主页](https://github.com/nukemiko/libtakiyasha/wiki)可以找到其他一些可能对你有用的东西。

## 常见问题

> 为什么 2.x 打开文件需要密钥,而 1.x 版本不需要?

这是出于以下考虑:

-   LibTakiyasha 是一个加解密库,当然需要为用户提供自定义密钥的权利
-   为了保护本项目不受美国<ruby>数字千年版权法<rt>Digital Millennium Copyright Act</rt></ruby>(DMCA)影响,避免仓库被误杀
    -   因此,本仓库所有 1.x 及更早版本的提交和发布版本都已删除。

## 变更记录

### 版本 2.1.0

-   减少了一些重复代码的使用,删除了大量不再使用的代码
-   优化了判断是否为 QMCv1 文件的逻辑、QMCv2 文件的主密钥探测逻辑
-   `libtakiyasha.qmc.QMCv2` 的 `open()` 和 `save()` 现在可接受多个混淆密钥,通过关键字参数 `garble_keys` 在需要时传入。
    -   **因此,上述方法中原来的关键字参数 `garble_key1` 和 `garble_key2` 已经被干掉了,请及时修改你的工具链。**
    -   如果提供此参数,需要提供一个产生至少一个混淆密钥(类字节对象)的可迭代对象(例如列表),且混淆密钥的顺序必须正确。

在[这里](https://github.com/nukemiko/libtakiyasha/compare/2.1.0rc2...2.1.0)查看更详细的变更记录。

### 版本 2.0.1 至 2.1.0rc2

在[这里](https://github.com/nukemiko/libtakiyasha/compare/2.0.1...2.1.0rc2)查看更详细的变更记录。

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "libtakiyasha",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "unlock,music,audio,qmc,ncm,mflac,mgg,netease,163,qqmusic",
    "author": "nukemiko",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/5b/4c/f1c4e4a6e1ae927084c185536f5fa14c66f73896e59dd2e792a89bb3cb51/libtakiyasha-2.1.0.tar.gz",
    "platform": null,
    "description": "# LibTakiyasha ![](https://img.shields.io/badge/Python-3.8%2B-blue)\n\nLibTakiyasha \u662f\u4e00\u4e2a Python \u97f3\u9891\u52a0\u5bc6/\u89e3\u5bc6\u5de5\u5177\u5e93\uff08\u5f53\u7136\u4e5f\u53ef\u7528\u4e8e\u52a0\u5bc6\u975e\u97f3\u9891\u6570\u636e\uff09\uff0c\u652f\u6301\u591a\u79cd\u52a0\u5bc6\u6587\u4ef6\u683c\u5f0f\u3002**LibTakiyasha \u4e0d\u63d0\u4f9b\u4efb\u4f55\u547d\u4ee4\u884c\u6216\u56fe\u5f62\u754c\u9762\u652f\u6301\u3002**\n\n## \u4f7f\u7528\u524d\u5fc5\u8bfb\n\n**\u672c\u9879\u76ee\u662f\u4ee5\u5b66\u4e60\u548c\u6280\u672f\u7814\u7a76\u7684\u521d\u8877\u521b\u5efa\u7684\uff0c\u4fee\u6539\u3001\u518d\u5206\u53d1\u65f6\u8bf7\u9075\u5faa [License](LICENSE)\u3002**\n\n\u672c\u9879\u76ee\u7684\u8bbe\u8ba1\u7075\u611f\uff0c\u4ee5\u53ca\u90e8\u5206\u89e3\u5bc6\u65b9\u6848\uff0c\u6765\u6e90\u4e8e<span id='similar-projects'>\u540c\u7c7b\u9879\u76ee</span>\uff1a\n\n-   [Unlock Music Project - CLI Edition](https://git.unlock-music.dev/um/cli)\n-   [parakeet-rs/libparakeet](https://github.com/parakeet-rs/libparakeet)\n\n**\u672c\u9879\u76ee\u4e0d\u5185\u7f6e\u4efb\u4f55\u5bc6\u94a5\uff0c\u8981\u6b63\u5e38\u6253\u5f00/\u4fdd\u5b58\u4efb\u4f55\u7c7b\u578b\u7684\u52a0\u5bc6\u6587\u4ef6\uff0c\u4f60\u9700\u8981\u63d0\u4f9b\u6b63\u786e\u7684\u5bf9\u5e94\u7684\u5bc6\u94a5\u3002\u4f60\u9700\u8981\u81ea\u884c\u5bfb\u627e\u89e3\u5bc6\u6240\u9700\u5bc6\u94a5\u6216\u52a0\u5bc6\u53c2\u6570\uff0c\u5728\u8c03\u7528\u65f6\u4f5c\u4e3a\u53c2\u6570\u4f20\u5165\u3002**\n\n\u5982\u679c\u4f60\u8981\u89e3\u5bc6\u522b\u4eba\u63d0\u4f9b\u7684\u6587\u4ef6\uff0c\u4f60\u53ef\u4ee5\u4ece\u63d0\u4f9b\u8005\u5904\u7d22\u8981\u5bc6\u94a5\uff0c\u6216\u8005\u5bfb\u6c42\u540c\u7c7b\u9879\u76ee\u548c\u4ed6\u4eba\u7684\u5e2e\u52a9\u3002\n\n**LibTakiyasha \u5bf9\u8f93\u51fa\u6570\u636e\u7684\u53ef\u7528\u6027\uff08\u662f\u5426\u53ef\u4ee5\u8bc6\u522b\u3001\u64ad\u653e\u7b49\uff09\u4e0d\u505a\u4efb\u4f55\u4fdd\u8bc1\u3002**\n\n---\n\n## \u65b0\u53d8\u5316\uff1f\n\n\u8bf7\u53c2\u9605[\u53d8\u66f4\u8bb0\u5f55](CHANGELOG.md)\u3002\n\n\uff08\u5982\u679c\u4f60\u662f\u5728 PyPI \u4e0a\u6d4f\u89c8\u672c\u9879\u76ee\uff0c\u5b83\u53ef\u80fd\u4f1a\u51fa\u73b0\u5728\u9875\u9762\u7684\u5e95\u90e8\uff0c[\u70b9\u6309\u6b64\u5904\u8df3\u8f6c](#\u53d8\u66f4\u8bb0\u5f55)\u3002\uff09\n\n## \u7279\u6027\n\n-   \u4f7f\u7528\u7eaf Python \u4ee3\u7801\u7f16\u5199\n    -   **\u517c\u5bb9 Python 3.8 \u53ca\u540e\u7eed\u7248\u672c**\uff0c\u517c\u5bb9\u591a\u79cd Python \u89e3\u91ca\u5668\u5b9e\u73b0\n        -   \u53ef\u5728[\u6b64\u5904](https://github.com/nukemiko/libtakiyasha/wiki/%E6%80%A7%E8%83%BD%E8%A1%A8%E7%8E%B0)\u67e5\u770b\u5177\u4f53\u517c\u5bb9\u54ea\u4e9b\u5b9e\u73b0\n    -   \u6613\u4e8e\u9605\u8bfb\uff0c\u65b9\u4fbf Python \u7231\u597d\u8005\u5b66\u4e60\n    -   \uff08\u5305\u62ec\u4f9d\u8d56\u5e93\uff09\u65e0\u4efb\u4f55 C/C++ \u6269\u5c55\u6a21\u5757\uff0c\u8de8\u5e73\u53f0\u6027\u5f3a\n-   \u652f\u6301\u56db\u79cd\u52a0\u5bc6\u6587\u4ef6\uff1a\n    -   \u7f51\u6613\u4e91\u97f3\u4e50\u52a0\u5bc6\u6587\u4ef6 `.ncm`\n    -   QQ \u97f3\u4e50\u52a0\u5bc6\u6587\u4ef6 QMCv1 `.qmc[0-9]`\u3001`.qmcflac`\u3001`.qmcogg`\u3001`.qmcra` \u7b49\n    -   QQ \u97f3\u4e50\u52a0\u5bc6\u6587\u4ef6 QMCv2 `.mflac[0-9]`\u3001`.mgg[0-9]` \u7b49\n    -   \u9177\u72d7\u97f3\u4e50\u52a0\u5bc6\u6587\u4ef6 KGM/VPR `.kgm`\u3001`.vpr`\n        -   \u4e0d\u652f\u6301\u521b\u5efa\u65b0\u52a0\u5bc6\u6587\u4ef6\n    -   \u9177\u6211\u97f3\u4e50\u52a0\u5bc6\u6587\u4ef6 `.kwm`\n    -   \u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1[\u6b64\u5904](https://github.com/nukemiko/libtakiyasha/wiki/%E6%94%AF%E6%8C%81%E7%9A%84%E6%A0%BC%E5%BC%8F%E4%BB%A5%E5%8F%8A%E6%89%80%E9%9C%80%E7%9A%84%E5%8F%82%E6%95%B0)\n\n### \u6027\u80fd\u8868\u73b0\n\n\u53c2\u89c1[\u6b64\u5904](https://github.com/nukemiko/libtakiyasha/wiki/%E6%80%A7%E8%83%BD%E8%A1%A8%E7%8E%B0)\u3002\n\n## \u5b89\u88c5\n\n\u53ef\u7528\u7684\u6700\u65b0\u7248\u672c\uff1a2.1.0\uff0c[GitHub \u53d1\u5e03\u9875\u9762](https://github.com/nukemiko/libtakiyasha/releases/tag/2.1.0)\uff0c[PyPI](https://pypi.org/project/libtakiyasha/2.1.0/)\n\n### \u5b89\u88c5\u65b9\u5f0f\n\n-   \u4f7f\u7528 `pip`\uff0c\u901a\u8fc7 PyPI \u5b89\u88c5\u6700\u65b0\u7248\u672c\uff1a`python -m pip install -U libtakiyasha`\n\n\u5982\u679c\u4f60\u8981\u4e0b\u8f7d\u5176\u4ed6\u7248\u672c\uff1a\n\n-   PyPI\uff1ahttps://pypi.org/project/libtakiyasha/#history \uff0c\u6311\u9009\u81ea\u5df1\u6240\u9700\u7684\u7248\u672c\uff0c\u4e0b\u8f7d\u5b89\u88c5\u5305\uff0c\u624b\u52a8\u5b89\u88c5\u3002\n    -   \u6216\u8005\u4f7f\u7528 pip \u5b89\u88c5\uff1a`python -m pip install -U libtakiyasha==<\u4f60\u6240\u9700\u7684\u7248\u672c>`\n-   \u524d\u5f80[\u53d1\u5e03\u9875\u9762](https://github.com/nukemiko/libtakiyasha/releases)\u6311\u9009\u81ea\u5df1\u6240\u9700\u7684\u7248\u672c\uff0c\u4e0b\u8f7d\u5b89\u88c5\u5305\uff0c\u624b\u52a8\u5b89\u88c5\u3002\n\n### \u4f9d\u8d56\u9879\n\nLibTakiyasha \u4f9d\u8d56\u4ee5\u4e0b\u5305\uff0c\u5747\u53ef\u4ece PyPI \u83b7\u53d6\uff1a\n\n-   [pyaes](https://pypi.org/project/pyaes/) - \u7528\u4e8e\u52a0\u89e3\u5bc6 NCM \u6587\u4ef6\u5185\u5d4c\u7684\u4e3b\u5bc6\u94a5\u548c\u5143\u6570\u636e\n-   [mutagen](https://pypi.org/project/mutagen/) - \u7528\u4e8e\u4ee5 `mutagen` \u53ef\u63a5\u53d7\u7684\u5f62\u5f0f\u5bfc\u51fa NCM \u6587\u4ef6\u5185\u5d4c\u7684\u5143\u6570\u636e\n\n## \u5982\u4f55\u4f7f\u7528\uff1f\n\n\u5728[\u8fd9\u91cc](https://github.com/nukemiko/libtakiyasha/wiki/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%8F%8A%E7%A4%BA%E4%BE%8B)\u53ef\u4ee5\u627e\u5230\u4f7f\u7528\u65b9\u6cd5\u548c\u793a\u4f8b\u3002\n\n\u540c\u65f6\uff0c\u5728[\u672c\u9879\u76ee\u7684 Wiki \u4e3b\u9875](https://github.com/nukemiko/libtakiyasha/wiki)\u53ef\u4ee5\u627e\u5230\u5176\u4ed6\u4e00\u4e9b\u53ef\u80fd\u5bf9\u4f60\u6709\u7528\u7684\u4e1c\u897f\u3002\n\n## \u5e38\u89c1\u95ee\u9898\n\n> \u4e3a\u4ec0\u4e48 2.x \u6253\u5f00\u6587\u4ef6\u9700\u8981\u5bc6\u94a5\uff0c\u800c 1.x \u7248\u672c\u4e0d\u9700\u8981\uff1f\n\n\u8fd9\u662f\u51fa\u4e8e\u4ee5\u4e0b\u8003\u8651\uff1a\n\n-   LibTakiyasha \u662f\u4e00\u4e2a\u52a0\u89e3\u5bc6\u5e93\uff0c\u5f53\u7136\u9700\u8981\u4e3a\u7528\u6237\u63d0\u4f9b\u81ea\u5b9a\u4e49\u5bc6\u94a5\u7684\u6743\u5229\n-   \u4e3a\u4e86\u4fdd\u62a4\u672c\u9879\u76ee\u4e0d\u53d7\u7f8e\u56fd<ruby>\u6570\u5b57\u5343\u5e74\u7248\u6743\u6cd5<rt>Digital Millennium Copyright Act</rt></ruby>\uff08DMCA\uff09\u5f71\u54cd\uff0c\u907f\u514d\u4ed3\u5e93\u88ab\u8bef\u6740\n    -   \u56e0\u6b64\uff0c\u672c\u4ed3\u5e93\u6240\u6709 1.x \u53ca\u66f4\u65e9\u7248\u672c\u7684\u63d0\u4ea4\u548c\u53d1\u5e03\u7248\u672c\u90fd\u5df2\u5220\u9664\u3002\n\n## \u53d8\u66f4\u8bb0\u5f55\n\n### \u7248\u672c 2.1.0\n\n-   \u51cf\u5c11\u4e86\u4e00\u4e9b\u91cd\u590d\u4ee3\u7801\u7684\u4f7f\u7528\uff0c\u5220\u9664\u4e86\u5927\u91cf\u4e0d\u518d\u4f7f\u7528\u7684\u4ee3\u7801\n-   \u4f18\u5316\u4e86\u5224\u65ad\u662f\u5426\u4e3a QMCv1 \u6587\u4ef6\u7684\u903b\u8f91\u3001QMCv2 \u6587\u4ef6\u7684\u4e3b\u5bc6\u94a5\u63a2\u6d4b\u903b\u8f91\n-   `libtakiyasha.qmc.QMCv2` \u7684 `open()` \u548c `save()` \u73b0\u5728\u53ef\u63a5\u53d7\u591a\u4e2a\u6df7\u6dc6\u5bc6\u94a5\uff0c\u901a\u8fc7\u5173\u952e\u5b57\u53c2\u6570 `garble_keys` \u5728\u9700\u8981\u65f6\u4f20\u5165\u3002\n    -   **\u56e0\u6b64\uff0c\u4e0a\u8ff0\u65b9\u6cd5\u4e2d\u539f\u6765\u7684\u5173\u952e\u5b57\u53c2\u6570 `garble_key1` \u548c `garble_key2` \u5df2\u7ecf\u88ab\u5e72\u6389\u4e86\uff0c\u8bf7\u53ca\u65f6\u4fee\u6539\u4f60\u7684\u5de5\u5177\u94fe\u3002**\n    -   \u5982\u679c\u63d0\u4f9b\u6b64\u53c2\u6570\uff0c\u9700\u8981\u63d0\u4f9b\u4e00\u4e2a\u4ea7\u751f\u81f3\u5c11\u4e00\u4e2a\u6df7\u6dc6\u5bc6\u94a5\uff08\u7c7b\u5b57\u8282\u5bf9\u8c61\uff09\u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61\uff08\u4f8b\u5982\u5217\u8868\uff09\uff0c\u4e14\u6df7\u6dc6\u5bc6\u94a5\u7684\u987a\u5e8f\u5fc5\u987b\u6b63\u786e\u3002\n\n\u5728[\u8fd9\u91cc](https://github.com/nukemiko/libtakiyasha/compare/2.1.0rc2...2.1.0)\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u53d8\u66f4\u8bb0\u5f55\u3002\n\n### \u7248\u672c 2.0.1 \u81f3 2.1.0rc2\n\n\u5728[\u8fd9\u91cc](https://github.com/nukemiko/libtakiyasha/compare/2.0.1...2.1.0rc2)\u67e5\u770b\u66f4\u8be6\u7ec6\u7684\u53d8\u66f4\u8bb0\u5f55\u3002\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023 nukemiko  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "\u591a\u79cd\u52a0\u5bc6\u65b9\u6848\u7684 Python \u5b9e\u73b0",
    "version": "2.1.0",
    "split_keywords": [
        "unlock",
        "music",
        "audio",
        "qmc",
        "ncm",
        "mflac",
        "mgg",
        "netease",
        "163",
        "qqmusic"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2753eb441022f24c2ddc93c26fd77751275117896e832436ec232f048c3617a3",
                "md5": "f79fda66f92faa5b0abb83ed3e756956",
                "sha256": "383bfb1a170379532e895c0007c21df9c4021deabf5731179b0e2355acf7e8d1"
            },
            "downloads": -1,
            "filename": "libtakiyasha-2.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f79fda66f92faa5b0abb83ed3e756956",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 61221,
            "upload_time": "2023-02-10T19:30:15",
            "upload_time_iso_8601": "2023-02-10T19:30:15.249721Z",
            "url": "https://files.pythonhosted.org/packages/27/53/eb441022f24c2ddc93c26fd77751275117896e832436ec232f048c3617a3/libtakiyasha-2.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b4cf1c4e4a6e1ae927084c185536f5fa14c66f73896e59dd2e792a89bb3cb51",
                "md5": "dda1b015b4b36f9f2be9a2f6df9b80ad",
                "sha256": "c8f6e37f1bcf5e781bfd14ecf37dc99b497eb1f7012a0e273279e9b15c560208"
            },
            "downloads": -1,
            "filename": "libtakiyasha-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dda1b015b4b36f9f2be9a2f6df9b80ad",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 53669,
            "upload_time": "2023-02-10T19:30:17",
            "upload_time_iso_8601": "2023-02-10T19:30:17.174832Z",
            "url": "https://files.pythonhosted.org/packages/5b/4c/f1c4e4a6e1ae927084c185536f5fa14c66f73896e59dd2e792a89bb3cb51/libtakiyasha-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-10 19:30:17",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "libtakiyasha"
}
        
Elapsed time: 0.04429s