Using the stable API is a prerequisite for being able to import lldb in a Python interpreter that does not match the exact version LLDB was built against. This is a pilkar of the proposed hybrid approach.
The issue is still open because:
- We still use two non-stable APIs, though they’re guarded by a define.
- This requires SWIG 4.1 while the official minimum SWIG version is 4.0 and not everyone is ready to upgrade yet.
Using the stable API is a prerequisite, but it seems like there’s at least a little bit more work to be done. When I tried importing LLDB, built against the stable API, in a different Python I hit an import error.
Yes, in the sense that a user wouldn’t have to, unless they want to import a third party package in their LLDB script, or import LLDB into their external script (which requires an Python interpreter anyway). But if we found the a full Python installation, we would prefer it.
Yep, that’s a great summary!
I think that’s a good idea to improve the user experience and given we have a lot of control over the embedded interpreter, that sounds feasible.