πβ¨ Better, more perfomance Live2D for Everyone! Support all platform that supports Python, Java (soon) and Rust! (I uses Gemini to code some hard frameworks)
Progress: Migrated to Codeberg (private during updates, soon public).
render.py is now a working CLI renderer (Blender bakes, Panda3D displays). client.py (the GUI) is still in progress.
This project uses Krita files and kritapy to read the texture, like .psd in Photoshop, preventing from crack Photoshop =))))
We are making everything from scratch, not using any of Live2D Cubism SDK resources!
file_handler.pyandrender.py(CLI) are working.client.py(GUI) is still in progress.
- Minimum Version: 10
- Lowest Supported Version: 10
- Recommended Version: 11
Note: Optimized, modded windows might still working, but recommend using the official version for Windows. If you can't use it, download and install Windows 10 IoT Enterprise LTSC 2021 or Windows 11 IoT Enterprise LTSC 2022 for the smallest, debloated Windows (not advertised), but need keys or mas aio =))
- macOS:
- Minimum: macOS 10.9 64-bit: Python 3.7
- Lowest Supported Version: macOS 10.9 64-bit: Python 3.9
- Recommend version: macOS 10.13: Python 3.13+
- Debian/Ubuntu based:
- Minimum: Debian 10 (main repositories): Python 3.7 / Ubuntu 18.04 LTS (main repositories not deadsnakes): Python 3.7
- Lowest Supported Version: Debian 11 (main repositories): Python 3.9 / Ubuntu 20.04 LTS (main repositories not deadsnakes): Python 3.9
- Recommend version: Debian 13 (Trixie) / Ubuntu 24.04 (Noble Numbat): Python 3.13+
- Arch: Arch repo is updating continuously, so it is impossible to detect the lowest version that minimally supports or recommend :((
- BSDs (Berkeley Software Distributions) or their forks:
- Minimum: Any BSD
- Lowest Supported Version: Any BSD
- Recommend version: Any BSD
- Install Python, search it on YouTube
- Install Krita, search for it on Google
-
macOS:
- Xcode Command Line Tools: Required for compiling some Python package dependencies. You can install them by running
xcode-select --installin your terminal. - Krita: Download and install from the official Krita website.
- Xcode Command Line Tools: Required for compiling some Python package dependencies. You can install them by running
-
Linux (Debian/Ubuntu based):
- Build Tools:
sudo apt-get update && sudo apt-get install build-essential python3-dev - Krita:
sudo apt-get install kritaor download the AppImage from the official Krita website.
- Build Tools:
-
Linux (Arch-based):
- Build Tools:
sudo pacman -Syu base-devel - Krita:
sudo pacman -S krita
- Build Tools:
-
Linux (Fedora-based):
- Build Tools:
sudo dnf groupinstall "C Development Tools and Libraries"andsudo dnf install python3-devel - Krita:
sudo dnf install krita
- Build Tools:
-
BSDs (FreeBSD example):
- Build Tools:
pkg install python3 devel/pkgconf - Krita:
pkg install krita
- Build Tools:
Note: For most users,
pipwill download pre-compiled binary wheels for complex packages like Panda3D, so you may not need all the development libraries unless you are building from source.
- Minimum Version: 3.10 (for
render.py;file_handler.pyalone still works on 3.7+) - Lowest Supported Version: 3.11
- Recommended (and Maximum) Version: Python 3.13
Note on 3.14:
render.pydepends on Blender'sbpyPython module. Blender currently ships wheels only up to cp313 (Python 3.13) at https://download.blender.org/pypi/bpy/. Once Blender 5.x publishes acp314wheel, this project will lift the cap. Until then, please use Python 3.13 if you wantrender.py.file_handler.pyitself does not needbpyand will run on 3.14.
Note on 3.12+ and Krita reading:
kritapy(the .kra reader) declares 3.8β3.11 and currently raises a dataclass error on Python 3.12+.render.pyfalls back to a PNG-per-layer directory in this case (see Test model below). If you need real.krasupport, run on Python 3.11 instead.
- Minimum Version: 4.0
- Lowest Supported Version: 4.2.0
- Recommended Version: 5.2 or newer (latest stable release)
Note: Using the latest version of Krita is highly recommended for the best performance and compatibility, especially for the
convert_psd_to_krafunctionality.
To get started, first:
- For Windows, use:
python -m venv .venvorpy -3.13 -m venv .venvif you have multiple python version installed - For MacOS, Linux, BSDs, use:
python3 -m venv .venvorpython3.13 -m venv .venvif you have multiple python version installed
pip install virtualenv first
- For Windows, use:
python -m virtualenv .venvorpy -3.13 -m virtualenv .venvif you have multiple python version installed - For MacOS, Linux, BSDs, use:
python3 -m virtualenv .venvorpython3.13 -m virtualenv .venvif you have multiple python version installed
- First, download and install Krita
- If Windows, then
.venv\Scripts\activate - If MacOS, Linux, BSDs, then
source .venv/bin/activate - To deactivate, use
deactivate - Then
pip install -r requirements.txt
- First, download and install Krita
- If Windows, then
.venv/Scripts/pip.exe install -r requirements.txt - If MacOS, Linux, BSDs, then
.venv/bin/python3 -m pip install -r requirements.txt
PyPI's bpy releases lag behind Blender's own wheel index, so we install directly
from https://download.blender.org/pypi/bpy/ instead. A helper script picks the
right wheel for your interpreter and CPU automatically:
- Windows:
scripts\install_bpy.bat - macOS / Linux / BSD:
bash scripts/install_bpy.sh
The script calls scripts/install_bpy.py, which detects your cpXY Python tag,
fetches the index, picks the newest matching wheel (e.g. bpy-5.1.1-cp313-cp313-win_amd64.whl
on a Python 3.13 Windows venv), and runs pip install <url>.
The wheel is large (β300β500 MB depending on platform) because it ships the Blender engine. The first install is slow; subsequent runs are cached.
If you'd rather not run bpy, file_handler.py still works without it. render.py
will refuse to start with a clear "install bpy" message.
To check your install end to end without painting any real assets:
python scripts/make_test_model.py # creates ./test_model/
python render.py test_model -o render.png -v
This generates a tiny humanoid (head + torso + arms + legs) as PNG layers and a 4-second
idle animation (head sway + breathe). render.py's PNG-directory fallback reads the
per-part <part>_layers/*.png so you don't need a real .kra to test.
Other modes:
python render.py test_model --output-mode sequence -o seq --duration 4 --fps 30
python render.py test_model --output-mode video -o idle.mp4 --duration 4 --fps 30
Video mode requires ffmpeg on PATH.
- If Windows, then
.venv\Scripts\activate - If MacOS, Linux, BSDs, then
sources .venv/bin/activate - To deactivate, use
deactivate - Then
python client.py
- If Windows, then
.venv\Scripts\python.exe client.py - If MacOS, Linux, BSDs, then
.venv/bin/python3 client.py
Will it be implemented into moeru-ai/airi?
- Nope, it might be possible, but it uses Vue: 54.6% and TypeScript: 38.2%, making it frickin' hard to implement unless we use Python for JS/TS