Single Pipeline, Three Target Interpreters
Automated C header parser ensuring 100% API parity.📥 Input Source
LVGL C Headers (lvgl.h, lv_conf.h)
│
▼
[ binding/gen_binding.py --target {mp,cp,cpython} ]
📤 Output Binding Trees
├── generated/lvgl_micropython.c
├── generated/lvgl_circuitpython.{c,h}
└── generated/lvgl_python.c (CPython/Pyodide)
Named in the spirit of gen_mpy.py from LVGL's original lv_binding_micropython generator — gen_binding.py is a ground-up, multi-target rewrite, not a fork, so it doesn't share that file's name.
Downstream Binding Consumers
lvgl-micropython
Consumes generated/lvgl_micropython.c for MicroPython MCU firmware builds.
lvgl-circuitpython
Consumes generated/lvgl_circuitpython.{c,h} for CircuitPython out-of-tree native extensions.
lvgl-python
Consumes generated/lvgl_python.c for CPython binary wheels and Pyodide WebAssembly packages.