ReaScript API handles several programming language: C++, EEL, Lua and Python. Despite Lua being the number one choice for coding with REAPER, Python can be a good candidate if you are already familiar with this language, and if you want to call some of the fancy Python libraries. Problem is that REAPER doesn’t load this libraries in a stable way, it is not just meant to work this way. For eg, loading numpy from a ReaScript directly has a high chance to just make REAPER crash.
The workarround is to use some kind of Python bridge or wrapper, being able to communicate from a Python to REAPER, by loading ReaScript API function. The script is then external to REAPER and can load libraries without crashing, including GUI frameworks and stuffs.
The initial attempt at this was a project called beyond.reaper but it is unmaintained since few years. A more recent approach have been made by Romeo Déprés and be shared as reapy in 2019. It is more stable and easy to set up than beyond.reaper, so it was a very good advancement in Python scripting for REAPER. Though, it also became unmaintained. But as this was generously shared as open source, a new developer was able to take the lead on a fork of the project!
So in 2021, a user called Levitanus created reapy-boost, based on reapy. And it seems he has been very active on the project, with about 100 commits to this day! The readme states that he will accept pull requests and make updates, which is quite encouraging (the other solutions may still work, but being not supported anymore means that if there is any issue, it can be hard to fix). The documentation is also quite good, with code snippets, installation instructions etc… We’ll see how this project evolved!
Levinatus doesn’t seems to be active on REAPER Forum though (I found the project right on GitHub, so it’s pretty much a hidden gem for now). You might want to discuss with him via GitHub issues, or to discuss with other coders using reapy/reapy-boost on the reapy thread.
Happy Fun! 🐍