live2d-py


Namelive2d-py JSON
Version 0.3.5 PyPI version JSON
download
home_pagehttps://github.com/Arkueid/live2d-py
SummaryLive2D Python SDK
upload_time2025-01-22 10:13:21
maintainerNone
docs_urlNone
authorArkueid
requires_python>=3.2
licenseMIT
keywords live2d cubism live2d cubism sdk cubism sdk for python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center" style="padding-top: 10px">
    <img src="./docs/koe.svg" alt="koe" width="50px" height="50px">
    <img src="./docs/logo.svg" alt="live2d-py" height="80px">
</div>

<p align="center" style="font-family: 'Roboto', sans-serif; font-size: 1em; color: #555;">
    <img title="Windows Distro" src="https://github.com/Arkueid/live2d-py/actions/workflows/build-windows.yml/badge.svg">
    <br>
    <img title="Release Version" src="https://img.shields.io/github/v/release/Arkueid/live2d-py" alt="Docker Build Version" style="margin: 0 10px;">
    <img title="Python Version" src="https://img.shields.io/badge/python-3.10+-blue" alt="Python Version" style="margin: 0 10px;">
    <img title="CMake" src="https://img.shields.io/badge/CMake-3.13+-orange" alt="CMake" style="margin: 0 10px;">
    <img title="C++" src="https://img.shields.io/badge/C%2B%2B-17-yellow" alt="C++17" style="margin: 0 10px;">
</p>

使用 Python 直接加载和操作 Live2D 模型,不通过 Web Engine 等间接手段进行渲染。

基于 Python C++ API 对 Live2D Native SDK (C++) 进行了封装。理论上,只要配置好 OpenGL 上下文,可在 Python 中将 live2d
绘制在任何基于 OpenGL 的窗口。

代码使用示例:[package](./package/)

详细使用文档:[Wiki](https://github.com/Arkueid/live2d-py/wiki)

修改和开发的一点提示:[CONTRIBUTING](./CONTRIBUTING.md)

## 兼容UI库

理论上兼容所有能使用 OpenGL 进行绘制的UI库: Pygame / PyQt5 / PySide2 / PySide6 / GLFW / pyopengltk/ FreeGlut / Qfluentwidgets ...

## 支持功能

* 加载模型:**Cubism 2.1** 和 **Cubism 3.0** 及以上版本
* 视线跟踪
* 点击交互
* 动作播放回调
* 口型同步
* 模型各部分参数控制
* 各部件透明度控制
* 精确到部件的点击检测

## 兼容性

### Python 版本
Python 版本支持:从 live2d-py 0.3.2 开始使用 Python C Limited API,理论上兼容 Python 3.2 以上的所有版本。

### Cubism Live2D 版本

| `live2d-py` | 支持的live2d模型        | 实现                    | 支持的Python版本                           | 支持平台                     |
|-------------|--------------------|-----------------------|---------------------------------------|--------------------------|
| `live2d.v2` | Cubism 2.1 以及更早的版本 | 纯 Python 实现           | 支持 `32` / `64` 位,支持`Python 3.0` 及以上版本 | Winodws、Linux、MacOS(理论上) |                                                       |
| `live2d.v3` | Cubism 3.0 及以上版本   | Python C Extension 封装 | 支持 `32` / `64` 位,支持`Python 3.2` 及以上版本 | Windows、Linux            |

注:

* `live2d.v2` 由 Cubism Web SDK 转写为纯 Python,尚未使用 numpy 等优化的库,性能有待提升。
* Cubism 2.X 导出的模型:文件名格式常为 `XXX.moc`,`XXX.model.json`,`XXX.mtn`
* Cubism 3.0 及以上导出的模型:文件名格式常为 `XXX.moc3`,`XXX.model3.json`, `XXX.motion3.json`

## 使用说明

1. 将仓库中的 package/live2d 直接作为 Python 模块集成到你的项目中即可。


2. 在 [Release](https://github.com/Arkueid/live2d-py/releases/latest) 中下载对应版本的 `whl` 文件并安装(推荐)

```shell
pip install live2d_py-0.X.X-cpXXX-cpXXX-win32.whl
```

3. 通过 [PyPI](https://pypi.org/project/live2d-py/) 安装

```shell
pip install live2d-py
```

4. 从源码构建,参考 [安装#源码构建](https://github.com/Arkueid/live2d-py/wiki/%E5%AE%89%E8%A3%85#%E6%BA%90%E7%A0%81%E6%9E%84%E5%BB%BA)

## 简易面部动捕示例

源码见 [main_facial_bind_mediapipe.py](./package/main_facial_bind.py)

![面捕-期末周破防](./docs/video_test.gif)

## 贡献

特别感谢 [@96bearli],[@Ovizro], [@AnyaCoder], [@jahtim] 为本项目提供的帮助和支持。

[@96bearli]: https://github.com/96bearli

[@Ovizro]: https://github.com/Ovizro

[@AnyaCoder]: https://github.com/AnyaCoder

[@jahtim]: https://github.com/jahtim


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Arkueid/live2d-py",
    "name": "live2d-py",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.2",
    "maintainer_email": null,
    "keywords": "Live2D, Cubism Live2D, Cubism SDK, Cubism SDK for Python",
    "author": "Arkueid",
    "author_email": "thetardis@qq.com",
    "download_url": null,
    "platform": null,
    "description": "<div align=\"center\" style=\"padding-top: 10px\">\r\n    <img src=\"./docs/koe.svg\" alt=\"koe\" width=\"50px\" height=\"50px\">\r\n    <img src=\"./docs/logo.svg\" alt=\"live2d-py\" height=\"80px\">\r\n</div>\r\n\r\n<p align=\"center\" style=\"font-family: 'Roboto', sans-serif; font-size: 1em; color: #555;\">\r\n    <img title=\"Windows Distro\" src=\"https://github.com/Arkueid/live2d-py/actions/workflows/build-windows.yml/badge.svg\">\r\n    <br>\r\n    <img title=\"Release Version\" src=\"https://img.shields.io/github/v/release/Arkueid/live2d-py\" alt=\"Docker Build Version\" style=\"margin: 0 10px;\">\r\n    <img title=\"Python Version\" src=\"https://img.shields.io/badge/python-3.10+-blue\" alt=\"Python Version\" style=\"margin: 0 10px;\">\r\n    <img title=\"CMake\" src=\"https://img.shields.io/badge/CMake-3.13+-orange\" alt=\"CMake\" style=\"margin: 0 10px;\">\r\n    <img title=\"C++\" src=\"https://img.shields.io/badge/C%2B%2B-17-yellow\" alt=\"C++17\" style=\"margin: 0 10px;\">\r\n</p>\r\n\r\n\u4f7f\u7528 Python \u76f4\u63a5\u52a0\u8f7d\u548c\u64cd\u4f5c Live2D \u6a21\u578b\uff0c\u4e0d\u901a\u8fc7 Web Engine \u7b49\u95f4\u63a5\u624b\u6bb5\u8fdb\u884c\u6e32\u67d3\u3002\r\n\r\n\u57fa\u4e8e Python C++ API \u5bf9 Live2D Native SDK (C++) \u8fdb\u884c\u4e86\u5c01\u88c5\u3002\u7406\u8bba\u4e0a\uff0c\u53ea\u8981\u914d\u7f6e\u597d OpenGL \u4e0a\u4e0b\u6587\uff0c\u53ef\u5728 Python \u4e2d\u5c06 live2d\r\n\u7ed8\u5236\u5728\u4efb\u4f55\u57fa\u4e8e OpenGL \u7684\u7a97\u53e3\u3002\r\n\r\n\u4ee3\u7801\u4f7f\u7528\u793a\u4f8b\uff1a[package](./package/)\r\n\r\n\u8be6\u7ec6\u4f7f\u7528\u6587\u6863\uff1a[Wiki](https://github.com/Arkueid/live2d-py/wiki)\r\n\r\n\u4fee\u6539\u548c\u5f00\u53d1\u7684\u4e00\u70b9\u63d0\u793a\uff1a[CONTRIBUTING](./CONTRIBUTING.md)\r\n\r\n## \u517c\u5bb9UI\u5e93\r\n\r\n\u7406\u8bba\u4e0a\u517c\u5bb9\u6240\u6709\u80fd\u4f7f\u7528 OpenGL \u8fdb\u884c\u7ed8\u5236\u7684UI\u5e93\uff1a Pygame / PyQt5 / PySide2 / PySide6 / GLFW / pyopengltk/ FreeGlut / Qfluentwidgets ...\r\n\r\n## \u652f\u6301\u529f\u80fd\r\n\r\n* \u52a0\u8f7d\u6a21\u578b\uff1a**Cubism 2.1** \u548c **Cubism 3.0** \u53ca\u4ee5\u4e0a\u7248\u672c\r\n* \u89c6\u7ebf\u8ddf\u8e2a\r\n* \u70b9\u51fb\u4ea4\u4e92\r\n* \u52a8\u4f5c\u64ad\u653e\u56de\u8c03\r\n* \u53e3\u578b\u540c\u6b65\r\n* \u6a21\u578b\u5404\u90e8\u5206\u53c2\u6570\u63a7\u5236\r\n* \u5404\u90e8\u4ef6\u900f\u660e\u5ea6\u63a7\u5236\r\n* \u7cbe\u786e\u5230\u90e8\u4ef6\u7684\u70b9\u51fb\u68c0\u6d4b\r\n\r\n## \u517c\u5bb9\u6027\r\n\r\n### Python \u7248\u672c\r\nPython \u7248\u672c\u652f\u6301\uff1a\u4ece live2d-py 0.3.2 \u5f00\u59cb\u4f7f\u7528 Python C Limited API\uff0c\u7406\u8bba\u4e0a\u517c\u5bb9 Python 3.2 \u4ee5\u4e0a\u7684\u6240\u6709\u7248\u672c\u3002\r\n\r\n### Cubism Live2D \u7248\u672c\r\n\r\n| `live2d-py` | \u652f\u6301\u7684live2d\u6a21\u578b        | \u5b9e\u73b0                    | \u652f\u6301\u7684Python\u7248\u672c                           | \u652f\u6301\u5e73\u53f0                     |\r\n|-------------|--------------------|-----------------------|---------------------------------------|--------------------------|\r\n| `live2d.v2` | Cubism 2.1 \u4ee5\u53ca\u66f4\u65e9\u7684\u7248\u672c | \u7eaf Python \u5b9e\u73b0           | \u652f\u6301 `32` / `64` \u4f4d\uff0c\u652f\u6301`Python 3.0` \u53ca\u4ee5\u4e0a\u7248\u672c | Winodws\u3001Linux\u3001MacOS\uff08\u7406\u8bba\u4e0a\uff09 |                                                       |\r\n| `live2d.v3` | Cubism 3.0 \u53ca\u4ee5\u4e0a\u7248\u672c   | Python C Extension \u5c01\u88c5 | \u652f\u6301 `32` / `64` \u4f4d\uff0c\u652f\u6301`Python 3.2` \u53ca\u4ee5\u4e0a\u7248\u672c | Windows\u3001Linux            |\r\n\r\n\u6ce8\uff1a\r\n\r\n* `live2d.v2` \u7531 Cubism Web SDK \u8f6c\u5199\u4e3a\u7eaf Python\uff0c\u5c1a\u672a\u4f7f\u7528 numpy \u7b49\u4f18\u5316\u7684\u5e93\uff0c\u6027\u80fd\u6709\u5f85\u63d0\u5347\u3002\r\n* Cubism 2.X \u5bfc\u51fa\u7684\u6a21\u578b\uff1a\u6587\u4ef6\u540d\u683c\u5f0f\u5e38\u4e3a `XXX.moc`\uff0c`XXX.model.json`\uff0c`XXX.mtn`\r\n* Cubism 3.0 \u53ca\u4ee5\u4e0a\u5bfc\u51fa\u7684\u6a21\u578b\uff1a\u6587\u4ef6\u540d\u683c\u5f0f\u5e38\u4e3a `XXX.moc3`\uff0c`XXX.model3.json`, `XXX.motion3.json`\r\n\r\n## \u4f7f\u7528\u8bf4\u660e\r\n\r\n1. \u5c06\u4ed3\u5e93\u4e2d\u7684 package/live2d \u76f4\u63a5\u4f5c\u4e3a Python \u6a21\u5757\u96c6\u6210\u5230\u4f60\u7684\u9879\u76ee\u4e2d\u5373\u53ef\u3002\r\n\r\n\r\n2. \u5728 [Release](https://github.com/Arkueid/live2d-py/releases/latest) \u4e2d\u4e0b\u8f7d\u5bf9\u5e94\u7248\u672c\u7684 `whl` \u6587\u4ef6\u5e76\u5b89\u88c5\uff08\u63a8\u8350\uff09\r\n\r\n```shell\r\npip install live2d_py-0.X.X-cpXXX-cpXXX-win32.whl\r\n```\r\n\r\n3. \u901a\u8fc7 [PyPI](https://pypi.org/project/live2d-py/) \u5b89\u88c5\r\n\r\n```shell\r\npip install live2d-py\r\n```\r\n\r\n4. \u4ece\u6e90\u7801\u6784\u5efa\uff0c\u53c2\u8003 [\u5b89\u88c5#\u6e90\u7801\u6784\u5efa](https://github.com/Arkueid/live2d-py/wiki/%E5%AE%89%E8%A3%85#%E6%BA%90%E7%A0%81%E6%9E%84%E5%BB%BA)\r\n\r\n## \u7b80\u6613\u9762\u90e8\u52a8\u6355\u793a\u4f8b\r\n\r\n\u6e90\u7801\u89c1 [main_facial_bind_mediapipe.py](./package/main_facial_bind.py)\r\n\r\n![\u9762\u6355-\u671f\u672b\u5468\u7834\u9632](./docs/video_test.gif)\r\n\r\n## \u8d21\u732e\r\n\r\n\u7279\u522b\u611f\u8c22 [@96bearli]\uff0c[@Ovizro], [@AnyaCoder], [@jahtim] \u4e3a\u672c\u9879\u76ee\u63d0\u4f9b\u7684\u5e2e\u52a9\u548c\u652f\u6301\u3002\r\n\r\n[@96bearli]: https://github.com/96bearli\r\n\r\n[@Ovizro]: https://github.com/Ovizro\r\n\r\n[@AnyaCoder]: https://github.com/AnyaCoder\r\n\r\n[@jahtim]: https://github.com/jahtim\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Live2D Python SDK",
    "version": "0.3.5",
    "project_urls": {
        "Homepage": "https://github.com/Arkueid/live2d-py"
    },
    "split_keywords": [
        "live2d",
        " cubism live2d",
        " cubism sdk",
        " cubism sdk for python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4dac0a51112997244f5c17223c1490d57094585a615e40629de84f437e065052",
                "md5": "1acbc31cca607dad048bcc52d71e2b31",
                "sha256": "6bfca1105890deb039277b79f0b7cb014f8b0590282e245541b96b4eed48fe15"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "1acbc31cca607dad048bcc52d71e2b31",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.2",
            "size": 1580489,
            "upload_time": "2025-01-22T10:13:21",
            "upload_time_iso_8601": "2025-01-22T10:13:21.530806Z",
            "url": "https://files.pythonhosted.org/packages/4d/ac/0a51112997244f5c17223c1490d57094585a615e40629de84f437e065052/live2d_py-0.3.5-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b6225c190a0cab5aa324896a48cc90a5c73c296ba0adddf65f0d6e95eafb376c",
                "md5": "44e74263e4e1c2be8b1370dcc4788ad9",
                "sha256": "d933e6cc03f6f3e6103371e06984492a2a40432cbc815b400755def64c20cd78"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "44e74263e4e1c2be8b1370dcc4788ad9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.2",
            "size": 1580492,
            "upload_time": "2025-01-22T10:15:19",
            "upload_time_iso_8601": "2025-01-22T10:15:19.475523Z",
            "url": "https://files.pythonhosted.org/packages/b6/22/5c190a0cab5aa324896a48cc90a5c73c296ba0adddf65f0d6e95eafb376c/live2d_py-0.3.5-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "20221da38ef15af893a91f89b8868eb1133b6372641d7e529ddaa56dc69aff98",
                "md5": "315972bf2177ea75611b580afb08e2d9",
                "sha256": "42fd3ab64b60bef3181e35594c484ad0c6cb29fba90e3f430985e8ab65f9bc21"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "315972bf2177ea75611b580afb08e2d9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.2",
            "size": 1583565,
            "upload_time": "2025-01-22T10:14:05",
            "upload_time_iso_8601": "2025-01-22T10:14:05.419719Z",
            "url": "https://files.pythonhosted.org/packages/20/22/1da38ef15af893a91f89b8868eb1133b6372641d7e529ddaa56dc69aff98/live2d_py-0.3.5-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63cc323419659e6b43e6b40c2fa58f5572001ae2d181ec4cd738695a1fd4e36d",
                "md5": "4f2d4292699541c1c42c040c5daf2fff",
                "sha256": "1596a0f8859eaae7c8c6e595a9a73064bccaf5fb75b4099b79220a5e16e92eac"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4f2d4292699541c1c42c040c5daf2fff",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.2",
            "size": 1583568,
            "upload_time": "2025-01-22T10:13:14",
            "upload_time_iso_8601": "2025-01-22T10:13:14.950703Z",
            "url": "https://files.pythonhosted.org/packages/63/cc/323419659e6b43e6b40c2fa58f5572001ae2d181ec4cd738695a1fd4e36d/live2d_py-0.3.5-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "89f83f765631ca1f6900d8fa6f112ea33af7123ca5a2965371ea42785c0b3862",
                "md5": "e12995d4abbc0eb8555934462483dbbd",
                "sha256": "19bc89ea7127d98eea54197417ad9ac8ae2622f90623720374de30c154bfe442"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "e12995d4abbc0eb8555934462483dbbd",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.2",
            "size": 1583589,
            "upload_time": "2025-01-22T10:14:09",
            "upload_time_iso_8601": "2025-01-22T10:14:09.904170Z",
            "url": "https://files.pythonhosted.org/packages/89/f8/3f765631ca1f6900d8fa6f112ea33af7123ca5a2965371ea42785c0b3862/live2d_py-0.3.5-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a002cc197e7b21cb2c51cbc659c527e5aaa8cab3af157f0a9089ae6e3eeec24e",
                "md5": "e955cdea53e09365387f02e5b0bfdcc3",
                "sha256": "450e24dbd96df000ad82a040196f78a74f3b87d9606244ca6754dbd37bf4c2b8"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e955cdea53e09365387f02e5b0bfdcc3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.2",
            "size": 1583591,
            "upload_time": "2025-01-22T10:14:17",
            "upload_time_iso_8601": "2025-01-22T10:14:17.906516Z",
            "url": "https://files.pythonhosted.org/packages/a0/02/cc197e7b21cb2c51cbc659c527e5aaa8cab3af157f0a9089ae6e3eeec24e/live2d_py-0.3.5-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "688edb6013a02e7b1faa55e0dbc3e2b3e806d5af61a32f448b3dfff62dbddaf7",
                "md5": "f8fcbfcd6dacf13afc44eda297b34ce3",
                "sha256": "6dd922effbc0093a356c53aa741cc039f29d14835a287312c94fa47c32c923f2"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "f8fcbfcd6dacf13afc44eda297b34ce3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.2",
            "size": 1580470,
            "upload_time": "2025-01-22T10:12:52",
            "upload_time_iso_8601": "2025-01-22T10:12:52.101851Z",
            "url": "https://files.pythonhosted.org/packages/68/8e/db6013a02e7b1faa55e0dbc3e2b3e806d5af61a32f448b3dfff62dbddaf7/live2d_py-0.3.5-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1d3b011c5b261fe39a4506da1491124b7b403a11af2c290f61004975134c2d37",
                "md5": "22a1ceebb2f4e09811440f71560a1455",
                "sha256": "79ed394eed13b621af0bd613153b4eb7c5820a74a6b38ff3c9017153275e12f0"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "22a1ceebb2f4e09811440f71560a1455",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.2",
            "size": 1580474,
            "upload_time": "2025-01-22T10:14:31",
            "upload_time_iso_8601": "2025-01-22T10:14:31.113902Z",
            "url": "https://files.pythonhosted.org/packages/1d/3b/011c5b261fe39a4506da1491124b7b403a11af2c290f61004975134c2d37/live2d_py-0.3.5-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f448a9791ec2eefc7b8e290959d1708b327836d845e6c65e470abaed4d964e22",
                "md5": "b87a7e058114c40dc0b8f158eaed1d5f",
                "sha256": "510d55288ada07ee372e4eaa02e6829693a21163e8a0fb2e20f5191290316d7e"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "b87a7e058114c40dc0b8f158eaed1d5f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.2",
            "size": 1580471,
            "upload_time": "2025-01-22T10:13:12",
            "upload_time_iso_8601": "2025-01-22T10:13:12.787363Z",
            "url": "https://files.pythonhosted.org/packages/f4/48/a9791ec2eefc7b8e290959d1708b327836d845e6c65e470abaed4d964e22/live2d_py-0.3.5-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "df55fc3f6e55e3b402f656e778e9e0daf20136532630fba1bbe442279d7f24d2",
                "md5": "78e6ab37804ccad92c58485259e4a184",
                "sha256": "59996e0561d992a75ad769138970b39482ce24f942cae2dd0876bb7ea776e82c"
            },
            "downloads": -1,
            "filename": "live2d_py-0.3.5-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "78e6ab37804ccad92c58485259e4a184",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.2",
            "size": 1580475,
            "upload_time": "2025-01-22T10:13:28",
            "upload_time_iso_8601": "2025-01-22T10:13:28.119268Z",
            "url": "https://files.pythonhosted.org/packages/df/55/fc3f6e55e3b402f656e778e9e0daf20136532630fba1bbe442279d7f24d2/live2d_py-0.3.5-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-22 10:13:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Arkueid",
    "github_project": "live2d-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "live2d-py"
}
        
Elapsed time: 0.62727s