In Spine 4.3, we've revamped our core runtimes. Specifically, spine-c has been completely rewritten. It is now a C wrapper around spine-cpp, which is auto-generated from the spine-cpp sources. spine-c can be easily exposed to any programming language that can call into C code (which is almost all of them, including Python via e.g. Cython). We are doing exactly that for Dart and Swift in 4.3, and will likely add support for more languages, like Python, in the future. The way this works is:
- We get full type information about everything in spine-c programmatically
- We write a little program that takes this type information and outputs a wrapper in the target language that is idiomatic for that language and under the hood calls into spine-c
That's how our Swift and Dart runtimes now work. If spine-cpp changes, we can run a single shell command to regenerate all the bindings in the other languages from that. And that's also what we could do for Cython, but 1. we must get the 4.3 release out and 2. Pygame and other Python game dev frameworks do not support rendering blended, textured, triangle meshes, which is what Spine needs.
TL;DR: not in the immediate future (read 2025), but very likely Q1 2026 for basic Python support IFF we can find a (popular) Python library that can actually render triangle meshes.