<div align="center">
<h1>
<img src="./docs/moeroid.ico" alt="koe" width="50px" height="50px">
<span style="color: #ffc000ff">live</span><span style="color: #ed7d31ff">2d</span><span style="color: #2e75b6ff">-py</span>
</h1>
</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">
<img title="MacOS Distro" src="https://github.com/Arkueid/live2d-py/actions/workflows/build-macos.yml/badge.svg">
<img title="Linux Distro" src="https://github.com/Arkueid/live2d-py/actions/workflows/build-linux.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.8+-blue" alt="Python Version" style="margin: 0 10px;">
<img title="CMake" src="https://img.shields.io/badge/CMake-3.26+-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;">
<img title="CsmSDK" src="https://img.shields.io/badge/CsmSDK-5_r3-orange" alt="CsmSDK" style="margin: 0 10px;">
<br>
<img title="QQ Group" src="https://img.shields.io/badge/QQ群-783375488-brightgreen" style="margin: 0 10px;">
<br>
<a href="https://github.com/Arkueid/live2d-py/blob/main/README.en.md">English README</a>
</p>
使用 Python 直接加载和操作 Live2D 模型,不通过 Web Engine 等间接手段进行渲染。
基于 Python C Extension 对 Live2D Native SDK (C++) 进行了封装。理论上,只要配置好 OpenGL 上下文,可在 Python 中将 live2d 绘制在任何基于 OpenGL 的窗口。
代码使用示例:[examples](./examples/)
详细使用文档:[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模型 | 实现 |
|-------------|--------------------|-----------------------|
| `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 |
### Python 版本及平台
:white_check_mark:: 可用, 支持, 已通过
:question:: 尚未测试
:construction:, :x:: 编译期问题或平台兼容性问题待解决
|Platform|Python Version| `live2d.v2` | `live2d.v3` |构建状态|PyPI|
|--------|--------------|-------------|-------------|------|----------|
|MacOS arm64| `>3.0, <=3.10`|:white_check_mark:|:question:|:construction:|:x:|
|MacOS arm64| `>=3.11` |:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|Windows x86/x64|`>3.0, <3.8`|:white_check_mark:|:question:|:construction:|:x:|
|Windows x86/x64|`>=3.8`|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|
|Ubuntu 20.04/Arch, x64|`>3.0, <3.8`|:white_check_mark:|:question:|:construction:|:x:|
|Ubuntu 20.04/Arch, x64|`>=3.8`|:white_check_mark:|:white_check_mark:|:white_check_mark:|:x:|
注:
* `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. 在 [Release](https://github.com/Arkueid/live2d-py/releases/latest) 中下载对应版本的 `whl` 文件并安装(推荐)
```shell
pip install live2d_py-0.X.X-cpXXX-cpXXX-win32.whl
```
2. 通过 [PyPI](https://pypi.org/project/live2d-py/) 安装
```shell
pip install live2d-py
```
3. 从源码构建,参考 [安装#源码构建](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](./examples/main_facial_bind.py)

### 基于 live2d-py C 模块及 Qt 开发的 Live2DViewer

### 多模型加载
源码见 [main_pygame_three_model.py](./examples/main_pygame_three_model.py)

### 添加背景
源码见 [main_pygame_background.py](./examples/main_pygame_background.py)

### 模型变换 & 口型同步音频 & 点击测试
源码见 [main_pygame.py](./examples/main_pygame.py)

### 模型整体透明度示例
源码见 [main_pyqt5_canvas_opacity.py](./examples/main_pyqt5_canvas_opacity.py)

## 鸣谢
特别感谢 [96bearli], [Ovizro], [AnyaCoder], [jahtim], [Honghe], [RobertMeow], [LUORANCHENG], [TinyKiecoo], [Barracuda72], [GuangChen2333], [makabakadot], [thynetruly], [mastwet], [KyvYang] 为本项目提供的帮助和支持。
[96bearli]: https://github.com/96bearli
[Ovizro]: https://github.com/Ovizro
[AnyaCoder]: https://github.com/AnyaCoder
[jahtim]: https://github.com/jahtim
[Honghe]: https://github.com/Honghe
[RobertMeow]: https://github.com/RobertMeow
[LUORANCHENG]: https://github.com/LUORANCHENG
[TinyKiecoo]: https://github.com/TinyKiecoo
[Barracuda72]: https://github.com/Barracuda72
[GuangChen2333]: https://github.com/GuangChen2333
[makabakadot]: https://github.com/makabakadot
[thynetruly]: https://github.com/thynetruly
[mastwet]: https://github.com/mastwet
[KyvYang]: https://github.com/kyv001
非常感谢以下项目及其贡献者们的帮助:
[CubismNativeSamples](https://github.com/Live2D/CubismNativeSamples) (`live2d.v3`)
[Cubism2 Web SDK](https://github.com/dylanNew/live2d) (`live2d.v2`)
[de4js](https://github.com/lelinhtinh/de4js)(`JavaScript` 反混淆工具)
[JsConvert](https://github.com/JonBoynton/JSConvert) (`Javascript` 转 `Python` 工具)
[D2Evil](https://github.com/UlyssesWu/D2Evil) (`moc` 文件分析)
[facial-landmarks-for-cubism](https://github.com/adrianiainlam/facial-landmarks-for-cubism) (面捕参考)
Live2D 模型:
* [Cubism 官方样例数据](https://www.live2d.com/en/learn/sample/)
* [雅萌工作室](https://yameng.remoon.cn/studio/live2d-f/1)
* [live2d-models](https://github.com/Eikanya/Live2d-model)
* [【虚拟主播模型】 宁宁vup化!](https://www.bilibili.com/video/BV1s7411d7y9)
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": "Arkueid <thetardis@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/57/25/45a207dfef16e655a5638472fe702311d9e55814a524ec4a02d209151219/live2d_py-0.5.4.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <h1>\n <img src=\"./docs/moeroid.ico\" alt=\"koe\" width=\"50px\" height=\"50px\">\n <span style=\"color: #ffc000ff\">live</span><span style=\"color: #ed7d31ff\">2d</span><span style=\"color: #2e75b6ff\">-py</span>\n </h1>\n</div>\n\n<p align=\"center\" style=\"font-family: 'Roboto', sans-serif; font-size: 1em; color: #555;\">\n <img title=\"Windows Distro\" src=\"https://github.com/Arkueid/live2d-py/actions/workflows/build-windows.yml/badge.svg\">\n <img title=\"MacOS Distro\" src=\"https://github.com/Arkueid/live2d-py/actions/workflows/build-macos.yml/badge.svg\">\n <img title=\"Linux Distro\" src=\"https://github.com/Arkueid/live2d-py/actions/workflows/build-linux.yml/badge.svg\">\n <br>\n <img title=\"Release Version\" src=\"https://img.shields.io/github/v/release/Arkueid/live2d-py\" alt=\"Docker Build Version\" style=\"margin: 0 10px;\">\n <img title=\"Python Version\" src=\"https://img.shields.io/badge/python-3.8+-blue\" alt=\"Python Version\" style=\"margin: 0 10px;\">\n <img title=\"CMake\" src=\"https://img.shields.io/badge/CMake-3.26+-orange\" alt=\"CMake\" style=\"margin: 0 10px;\">\n <img title=\"C++\" src=\"https://img.shields.io/badge/C%2B%2B-17-yellow\" alt=\"C++17\" style=\"margin: 0 10px;\">\n <img title=\"CsmSDK\" src=\"https://img.shields.io/badge/CsmSDK-5_r3-orange\" alt=\"CsmSDK\" style=\"margin: 0 10px;\">\n <br>\n <img title=\"QQ Group\" src=\"https://img.shields.io/badge/QQ\u7fa4-783375488-brightgreen\" style=\"margin: 0 10px;\">\n <br>\n <a href=\"https://github.com/Arkueid/live2d-py/blob/main/README.en.md\">English README</a>\n</p>\n\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\n\n\u57fa\u4e8e Python C Extension \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 \u7ed8\u5236\u5728\u4efb\u4f55\u57fa\u4e8e OpenGL \u7684\u7a97\u53e3\u3002\n\n\u4ee3\u7801\u4f7f\u7528\u793a\u4f8b\uff1a[examples](./examples/)\n\n\u8be6\u7ec6\u4f7f\u7528\u6587\u6863\uff1a[Wiki](https://github.com/Arkueid/live2d-py/wiki)\n\n\u4fee\u6539\u548c\u5f00\u53d1\uff1a[CONTRIBUTING](./CONTRIBUTING.md)\n\n## \u517c\u5bb9UI\u5e93\n\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 ...\n\n## \u652f\u6301\u529f\u80fd\n\n* \u52a0\u8f7d\u6a21\u578b\uff1a**Cubism 2.1** \u548c **Cubism 3.0** \u53ca\u4ee5\u4e0a\u7248\u672c\n* \u89c6\u7ebf\u8ddf\u8e2a\n* \u70b9\u51fb\u4ea4\u4e92\n* \u52a8\u4f5c\u64ad\u653e\u56de\u8c03\n* \u53e3\u578b\u540c\u6b65\n* \u6a21\u578b\u5404\u90e8\u5206\u53c2\u6570\u63a7\u5236\n* \u5404\u90e8\u4ef6\u900f\u660e\u5ea6\u63a7\u5236\n* \u7cbe\u786e\u5230\u90e8\u4ef6\u7684\u70b9\u51fb\u68c0\u6d4b\n\n## \u517c\u5bb9\u6027\n\n### Python \u7248\u672c\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\n\n### Cubism Live2D \u7248\u672c\n\n| `live2d-py` | \u652f\u6301\u7684live2d\u6a21\u578b | \u5b9e\u73b0 | \n|-------------|--------------------|-----------------------|\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 | |\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 |\n\n### Python \u7248\u672c\u53ca\u5e73\u53f0\n\n:white_check_mark:: \u53ef\u7528, \u652f\u6301, \u5df2\u901a\u8fc7\n\n:question:: \u5c1a\u672a\u6d4b\u8bd5\n\n:construction:, :x:: \u7f16\u8bd1\u671f\u95ee\u9898\u6216\u5e73\u53f0\u517c\u5bb9\u6027\u95ee\u9898\u5f85\u89e3\u51b3 \n\n|Platform|Python Version| `live2d.v2` | `live2d.v3` |\u6784\u5efa\u72b6\u6001|PyPI|\n|--------|--------------|-------------|-------------|------|----------|\n|MacOS arm64| `>3.0, <=3.10`|:white_check_mark:|:question:|:construction:|:x:|\n|MacOS arm64| `>=3.11` |:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|\n|Windows x86/x64|`>3.0, <3.8`|:white_check_mark:|:question:|:construction:|:x:|\n|Windows x86/x64|`>=3.8`|:white_check_mark:|:white_check_mark:|:white_check_mark:|:white_check_mark:|\n|Ubuntu 20.04/Arch, x64|`>3.0, <3.8`|:white_check_mark:|:question:|:construction:|:x:|\n|Ubuntu 20.04/Arch, x64|`>=3.8`|:white_check_mark:|:white_check_mark:|:white_check_mark:|:x:|\n\n\u6ce8\uff1a\n\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\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`\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`\n\n## \u4f7f\u7528\u8bf4\u660e\n\n1. \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\n\n```shell\npip install live2d_py-0.X.X-cpXXX-cpXXX-win32.whl\n```\n\n2. \u901a\u8fc7 [PyPI](https://pypi.org/project/live2d-py/) \u5b89\u88c5\n\n```shell\npip install live2d-py\n```\n\n3. \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)\n\n## \u793a\u4f8b\n\n### \u7b80\u6613\u9762\u6355\n\n\u6e90\u7801\u89c1 [main_facial_bind_mediapipe.py](./examples/main_facial_bind.py)\n\n\n\n### \u57fa\u4e8e live2d-py C \u6a21\u5757\u53ca Qt \u5f00\u53d1\u7684 Live2DViewer\n\n\n\n\n### \u591a\u6a21\u578b\u52a0\u8f7d\n\n\u6e90\u7801\u89c1 [main_pygame_three_model.py](./examples/main_pygame_three_model.py)\n\n\n\n### \u6dfb\u52a0\u80cc\u666f\n\n\u6e90\u7801\u89c1 [main_pygame_background.py](./examples/main_pygame_background.py)\n\n\n\n### \u6a21\u578b\u53d8\u6362 & \u53e3\u578b\u540c\u6b65\u97f3\u9891 & \u70b9\u51fb\u6d4b\u8bd5\n\n\u6e90\u7801\u89c1 [main_pygame.py](./examples/main_pygame.py)\n\n\n\n### \u6a21\u578b\u6574\u4f53\u900f\u660e\u5ea6\u793a\u4f8b\n\n\u6e90\u7801\u89c1 [main_pyqt5_canvas_opacity.py](./examples/main_pyqt5_canvas_opacity.py)\n\n\n\n## \u9e23\u8c22\n\n\u7279\u522b\u611f\u8c22 [96bearli], [Ovizro], [AnyaCoder], [jahtim], [Honghe], [RobertMeow], [LUORANCHENG], [TinyKiecoo], [Barracuda72], [GuangChen2333], [makabakadot], [thynetruly], [mastwet], [KyvYang] \u4e3a\u672c\u9879\u76ee\u63d0\u4f9b\u7684\u5e2e\u52a9\u548c\u652f\u6301\u3002\n\n[96bearli]: https://github.com/96bearli\n\n[Ovizro]: https://github.com/Ovizro\n\n[AnyaCoder]: https://github.com/AnyaCoder\n\n[jahtim]: https://github.com/jahtim\n\n[Honghe]: https://github.com/Honghe\n\n[RobertMeow]: https://github.com/RobertMeow\n\n[LUORANCHENG]: https://github.com/LUORANCHENG\n\n[TinyKiecoo]: https://github.com/TinyKiecoo\n\n[Barracuda72]: https://github.com/Barracuda72\n\n[GuangChen2333]: https://github.com/GuangChen2333\n\n[makabakadot]: https://github.com/makabakadot\n\n[thynetruly]: https://github.com/thynetruly\n\n[mastwet]: https://github.com/mastwet\n\n[KyvYang]: https://github.com/kyv001\n\n\n\u975e\u5e38\u611f\u8c22\u4ee5\u4e0b\u9879\u76ee\u53ca\u5176\u8d21\u732e\u8005\u4eec\u7684\u5e2e\u52a9\uff1a\n\n[CubismNativeSamples](https://github.com/Live2D/CubismNativeSamples) (`live2d.v3`)\n\n[Cubism2 Web SDK](https://github.com/dylanNew/live2d) (`live2d.v2`)\n\n[de4js](https://github.com/lelinhtinh/de4js)\uff08`JavaScript` \u53cd\u6df7\u6dc6\u5de5\u5177\uff09\n\n[JsConvert](https://github.com/JonBoynton/JSConvert) (`Javascript` \u8f6c `Python` \u5de5\u5177)\n\n[D2Evil](https://github.com/UlyssesWu/D2Evil) (`moc` \u6587\u4ef6\u5206\u6790)\n\n[facial-landmarks-for-cubism](https://github.com/adrianiainlam/facial-landmarks-for-cubism) \uff08\u9762\u6355\u53c2\u8003\uff09\n\nLive2D \u6a21\u578b:\n\n* [Cubism \u5b98\u65b9\u6837\u4f8b\u6570\u636e](https://www.live2d.com/en/learn/sample/)\n* [\u96c5\u840c\u5de5\u4f5c\u5ba4](https://yameng.remoon.cn/studio/live2d-f/1)\n* [live2d-models](https://github.com/Eikanya/Live2d-model)\n* [\u3010\u865a\u62df\u4e3b\u64ad\u6a21\u578b\u3011 \u5b81\u5b81vup\u5316\uff01](https://www.bilibili.com/video/BV1s7411d7y9)\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "A non-web Live2D library for Python.",
"version": "0.5.4",
"project_urls": {
"Documentation": "https://Arkueid.github.io/live2d-py-docs/",
"Homepage": "https://github.com/Arkueid/live2d-py",
"Repository": "https://github.com/Arkueid/live2d-py"
},
"split_keywords": [
"live2d",
" cubism live2d",
" cubism sdk",
" cubism sdk for python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2b6338c5e083c3605fa17d32c2b25189a4cc4302b2f312afd59b0dea95e9bf1f",
"md5": "91db2503dc67c543e66ff6952deacb0f",
"sha256": "46f887253ad636d6c0dafa708d614c70cbcd13f34e4ef92ea7c18073c9a59f63"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "91db2503dc67c543e66ff6952deacb0f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.2",
"size": 257718,
"upload_time": "2025-08-09T07:26:13",
"upload_time_iso_8601": "2025-08-09T07:26:13.083271Z",
"url": "https://files.pythonhosted.org/packages/2b/63/38c5e083c3605fa17d32c2b25189a4cc4302b2f312afd59b0dea95e9bf1f/live2d_py-0.5.4-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2c4a24322689654464e4f30b547ac87a990c26c420f5529a0990139b18fd6e75",
"md5": "d1c1ea41371dcc639752b1ef0a954a75",
"sha256": "4da998f715ba3bca7d64dfe6f02396739e3f90ad9938d4343d1ec2ea63ae0ca7"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "d1c1ea41371dcc639752b1ef0a954a75",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.2",
"size": 284489,
"upload_time": "2025-08-09T07:26:48",
"upload_time_iso_8601": "2025-08-09T07:26:48.316827Z",
"url": "https://files.pythonhosted.org/packages/2c/4a/24322689654464e4f30b547ac87a990c26c420f5529a0990139b18fd6e75/live2d_py-0.5.4-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "43312e52f5eda5a5bc2a28cab685494ebc3f6b967a0ba1bef0c5af8427e7667d",
"md5": "143675fc905cfd5b928810d0bcbc71b2",
"sha256": "c3075c6b2ce13934c06f02b02a365e941b1cf9a272f2449016537aa4e9272303"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp311-cp311-macosx_13_0_universal2.whl",
"has_sig": false,
"md5_digest": "143675fc905cfd5b928810d0bcbc71b2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.2",
"size": 363743,
"upload_time": "2025-08-09T07:27:57",
"upload_time_iso_8601": "2025-08-09T07:27:57.092151Z",
"url": "https://files.pythonhosted.org/packages/43/31/2e52f5eda5a5bc2a28cab685494ebc3f6b967a0ba1bef0c5af8427e7667d/live2d_py-0.5.4-cp311-cp311-macosx_13_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "67d6f71d0874806400351873acbfb8cbb40a81f103f9ded1751b351d37747aa6",
"md5": "5dccde63b5bba915005f52233e299245",
"sha256": "632cd15a00af1881e50aee6651c32dcda11d6e4e15c5812c0542824952f39dd0"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp311-cp311-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "5dccde63b5bba915005f52233e299245",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.2",
"size": 338999,
"upload_time": "2025-08-09T07:24:09",
"upload_time_iso_8601": "2025-08-09T07:24:09.381624Z",
"url": "https://files.pythonhosted.org/packages/67/d6/f71d0874806400351873acbfb8cbb40a81f103f9ded1751b351d37747aa6/live2d_py-0.5.4-cp311-cp311-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6c685a15dd4d41f24385a5968af9806260d1ad8e37d7e39c3f7b6c2e859eac63",
"md5": "d88cd25b8f804abf2e44b8aa760841d4",
"sha256": "078c9f3aec944cffd93b271a01449f2ff72d886597e9e7a64902207445786e80"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "d88cd25b8f804abf2e44b8aa760841d4",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.2",
"size": 257723,
"upload_time": "2025-08-09T07:25:11",
"upload_time_iso_8601": "2025-08-09T07:25:11.626352Z",
"url": "https://files.pythonhosted.org/packages/6c/68/5a15dd4d41f24385a5968af9806260d1ad8e37d7e39c3f7b6c2e859eac63/live2d_py-0.5.4-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d512b761dcee51a5f4bcc574249b962a73c573d49ee46d05bac7d2730e9b502d",
"md5": "332a5e0e49d3875543c5624826766c06",
"sha256": "25668288a0834cabf8b7995d55cbd673167746fa6bd2e209746746ecebfa507e"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "332a5e0e49d3875543c5624826766c06",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.2",
"size": 284498,
"upload_time": "2025-08-09T07:27:02",
"upload_time_iso_8601": "2025-08-09T07:27:02.276871Z",
"url": "https://files.pythonhosted.org/packages/d5/12/b761dcee51a5f4bcc574249b962a73c573d49ee46d05bac7d2730e9b502d/live2d_py-0.5.4-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "53c7d98c1698522a01a40b8aa5a0eabe35072061ca21d358355c99647d8ea1fd",
"md5": "9b364b3c587e7c74c731925c47acb689",
"sha256": "8783e740bcf173a10a08bdf07a84e07e3de62f5ffeb355d1bd110193541cf2c8"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp312-cp312-macosx_13_0_universal2.whl",
"has_sig": false,
"md5_digest": "9b364b3c587e7c74c731925c47acb689",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.2",
"size": 363687,
"upload_time": "2025-08-09T07:25:05",
"upload_time_iso_8601": "2025-08-09T07:25:05.639226Z",
"url": "https://files.pythonhosted.org/packages/53/c7/d98c1698522a01a40b8aa5a0eabe35072061ca21d358355c99647d8ea1fd/live2d_py-0.5.4-cp312-cp312-macosx_13_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "22831e5d0ffc17cef9f94cc09d02d331c125340b71d04d88376bf858eb68ee0d",
"md5": "e8d4f868e1382f5683c90f196446930a",
"sha256": "ddf2ec1e66d126b6209ec3a53a7862946cb78fada2cbdb558551a55b808b06f3"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp312-cp312-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "e8d4f868e1382f5683c90f196446930a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.2",
"size": 338916,
"upload_time": "2025-08-09T07:24:09",
"upload_time_iso_8601": "2025-08-09T07:24:09.076859Z",
"url": "https://files.pythonhosted.org/packages/22/83/1e5d0ffc17cef9f94cc09d02d331c125340b71d04d88376bf858eb68ee0d/live2d_py-0.5.4-cp312-cp312-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1e28418faeaa54cd15027825472e93e415432263f475fe3a35010a7d31149ba0",
"md5": "3a9cd5d836ece388ba15564ac55d2bfe",
"sha256": "d4f22e74b9a07dce853b9d8112dabb47d51ffddba7a47668e4886222c60d7764"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "3a9cd5d836ece388ba15564ac55d2bfe",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.2",
"size": 257783,
"upload_time": "2025-08-09T07:26:24",
"upload_time_iso_8601": "2025-08-09T07:26:24.728682Z",
"url": "https://files.pythonhosted.org/packages/1e/28/418faeaa54cd15027825472e93e415432263f475fe3a35010a7d31149ba0/live2d_py-0.5.4-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e9e8ade0291094d143d5ae94b36bb6218418d96783b34701c02c9ba9d7d2e7e2",
"md5": "d8e321d18457b703024419266d44d905",
"sha256": "225691bafc5bf3c39fe88d5af612c3535209a19eb389c4327aa00c515acad177"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "d8e321d18457b703024419266d44d905",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.2",
"size": 284498,
"upload_time": "2025-08-09T07:26:26",
"upload_time_iso_8601": "2025-08-09T07:26:26.530935Z",
"url": "https://files.pythonhosted.org/packages/e9/e8/ade0291094d143d5ae94b36bb6218418d96783b34701c02c9ba9d7d2e7e2/live2d_py-0.5.4-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ba7534078e9d9efc4171d3785e75c0235c9c8628f1e2e6cc88fc05ec7f71cf70",
"md5": "6743cbaeb2b6d2d348b6b6fdc37da932",
"sha256": "4cdf6eae2acf0d01e5b7f9ddeef5962683a312a6e689d7632f6dbfbfc50a5e21"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp313-cp313-macosx_13_0_universal2.whl",
"has_sig": false,
"md5_digest": "6743cbaeb2b6d2d348b6b6fdc37da932",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.2",
"size": 364419,
"upload_time": "2025-08-09T07:24:43",
"upload_time_iso_8601": "2025-08-09T07:24:43.985147Z",
"url": "https://files.pythonhosted.org/packages/ba/75/34078e9d9efc4171d3785e75c0235c9c8628f1e2e6cc88fc05ec7f71cf70/live2d_py-0.5.4-cp313-cp313-macosx_13_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a00ebdb7bbb488df03829326ac133579e3f46aaaf087cd6c444fec66ae78cdb6",
"md5": "e8ce5640aa2fd3abf11a526eb3e10144",
"sha256": "a0b8337dc5e877a165067b0a2746e007382fa13c6ae0648423102d5fa7e170eb"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp313-cp313-macosx_14_0_universal2.whl",
"has_sig": false,
"md5_digest": "e8ce5640aa2fd3abf11a526eb3e10144",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.2",
"size": 339116,
"upload_time": "2025-08-09T07:25:33",
"upload_time_iso_8601": "2025-08-09T07:25:33.800946Z",
"url": "https://files.pythonhosted.org/packages/a0/0e/bdb7bbb488df03829326ac133579e3f46aaaf087cd6c444fec66ae78cdb6/live2d_py-0.5.4-cp313-cp313-macosx_14_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ce95a285e7e387a6bb29d36922d78114bf7d0fb7904241a919f220a86422371f",
"md5": "5e6dff9ba321c4c3d16f490f1fddee2a",
"sha256": "4824d3d84d5febb33b2a90b98ed2f7d48bc8bcbd82d0ba5e3aa0b3263f912ea1"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp313-cp313-win32.whl",
"has_sig": false,
"md5_digest": "5e6dff9ba321c4c3d16f490f1fddee2a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.2",
"size": 257845,
"upload_time": "2025-08-09T07:26:09",
"upload_time_iso_8601": "2025-08-09T07:26:09.148349Z",
"url": "https://files.pythonhosted.org/packages/ce/95/a285e7e387a6bb29d36922d78114bf7d0fb7904241a919f220a86422371f/live2d_py-0.5.4-cp313-cp313-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "85645a7c73654648247589070a5127622186f7a8f5348c32c464a4a10adef367",
"md5": "97d28ba164992ba966f0b593c458782a",
"sha256": "8a883419b7784e374296e5227d61da3c32bf5fdfb4b60326b3ba33c3cab59901"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "97d28ba164992ba966f0b593c458782a",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.2",
"size": 284667,
"upload_time": "2025-08-09T07:26:38",
"upload_time_iso_8601": "2025-08-09T07:26:38.051755Z",
"url": "https://files.pythonhosted.org/packages/85/64/5a7c73654648247589070a5127622186f7a8f5348c32c464a4a10adef367/live2d_py-0.5.4-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "854ec17d221ae252ece161ba3bfc69f721acbc5984e6d4710c0f2c4af9aefa90",
"md5": "d12cb42b552cf45234c948ad10f23e95",
"sha256": "902457bb7162a022818d48f36494899fdf6f1c2ba51b93050932fb5e579d8cf8"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "d12cb42b552cf45234c948ad10f23e95",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.2",
"size": 257843,
"upload_time": "2025-08-09T07:25:12",
"upload_time_iso_8601": "2025-08-09T07:25:12.203163Z",
"url": "https://files.pythonhosted.org/packages/85/4e/c17d221ae252ece161ba3bfc69f721acbc5984e6d4710c0f2c4af9aefa90/live2d_py-0.5.4-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fcc27efbdb5e59005f0a6fa038ae16d8000fa5e2196e2a2e84bd716d4698c740",
"md5": "021ef08188e0decd67943571222c1cc7",
"sha256": "8cee2354ee007200753eadfa467ea154aa6b23415c870f65ae8ffd64d6a68a33"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "021ef08188e0decd67943571222c1cc7",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.2",
"size": 284858,
"upload_time": "2025-08-09T07:24:52",
"upload_time_iso_8601": "2025-08-09T07:24:52.544444Z",
"url": "https://files.pythonhosted.org/packages/fc/c2/7efbdb5e59005f0a6fa038ae16d8000fa5e2196e2a2e84bd716d4698c740/live2d_py-0.5.4-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23a00bd1d0f0d6b39662a2c25cdf3d86e2d0eaa5277d3f2265b30472ee5972a6",
"md5": "4488634599c338589adcd98a5237f5f1",
"sha256": "e797eeb5632975da34deef29109fa9743ef2c55e935bb2c64a26b3ce17de8f03"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "4488634599c338589adcd98a5237f5f1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.2",
"size": 257904,
"upload_time": "2025-08-09T07:26:52",
"upload_time_iso_8601": "2025-08-09T07:26:52.220048Z",
"url": "https://files.pythonhosted.org/packages/23/a0/0bd1d0f0d6b39662a2c25cdf3d86e2d0eaa5277d3f2265b30472ee5972a6/live2d_py-0.5.4-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2d4050b3d962b4ff477107f3e068b00c484aae3b430ed1e6e9b6e164ae5cd6b3",
"md5": "6f5380c40f6c928c6efe77070b392cd2",
"sha256": "d9832498b7446e822aac9b0b3e811f30d998f8de1c6d62e10d9d9ae633b902ea"
},
"downloads": -1,
"filename": "live2d_py-0.5.4-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "6f5380c40f6c928c6efe77070b392cd2",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.2",
"size": 284909,
"upload_time": "2025-08-09T07:25:06",
"upload_time_iso_8601": "2025-08-09T07:25:06.941826Z",
"url": "https://files.pythonhosted.org/packages/2d/40/50b3d962b4ff477107f3e068b00c484aae3b430ed1e6e9b6e164ae5cd6b3/live2d_py-0.5.4-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "572545a207dfef16e655a5638472fe702311d9e55814a524ec4a02d209151219",
"md5": "ffa3940bfb37ab5418a35f107bf38ce7",
"sha256": "adf47cf9f9020e7de07c532c5f7fdd102711361204fcbc7af83997a98fc3025a"
},
"downloads": -1,
"filename": "live2d_py-0.5.4.tar.gz",
"has_sig": false,
"md5_digest": "ffa3940bfb37ab5418a35f107bf38ce7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.2",
"size": 5698492,
"upload_time": "2025-08-09T07:24:50",
"upload_time_iso_8601": "2025-08-09T07:24:50.360336Z",
"url": "https://files.pythonhosted.org/packages/57/25/45a207dfef16e655a5638472fe702311d9e55814a524ec4a02d209151219/live2d_py-0.5.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-09 07:24:50",
"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"
}