- Adds a wrapper library to Krita, libkis, that can be used to create bindings. The wrapper library is QObject based and shims between krita's internal API and an external API.
- This is the first version of the API: it should be tested in practice, but going forward, changes and additions to the API are expected
- pykrita is the combination of Python bindings to libkis and a plugin system, borrowed from Kate's Pate that allows users to create plugins in Python and enable and disable those plugins from Krita's settings dialog
- There are a couple of sample scripts, too.
See T1625-python-scripting, and for easy building, check the rempt/T1625-python-scripting branch. You need Python3, PyQt and SIP. there are cmake external projects for those dependencies, but setting up a build environment with them can be tricky. Here's my cmake command line:
cmake ../krita -DCMAKE_INSTALL_PREFIX=/home/boud/dev/i-scripting \
-DCMAKE_PREFIX_PATH=/home/boud/dev/deps \ -DPACKAGERS_BUILD=ON \ -DBUILD_TESTING=OFF \ -DKDE4_BUILD_TESTS=OFF \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DPYTHON_EXECUTABLE=/home/boud/dev/deps/bin/python3 \ -DPYQT_SIP_DIR_OVERRIDE=/home/boud/dev/deps/share/sip/PyQt5