pythonloc is a drop in replacement for python that automatically recognizes a __pypackages__ directory and prefers importing packages installed in this location over user or global site-packages.
If you are familiar with node, it is similar to node_modules.
I've been using Stator[0] which uses a global JavaScript object with get(), set(), and connectComponentState() methods that selectively call setState() on components that connect to the global state.
It has worked really well for me on a 5k+ LOC frontend to gdb called gdbgui[1]. It's performant, but perhaps more importantly, it matches my mental model of how the code works (essentially a global setState, can log changes to the console, do type checking, etc.) so I can work more efficiently. Stator was originally part of gdbgui, but since the pattern worked so well for me I extracted it into its own library.
Never tried, but pygdbmi would probably get you halfway there. It uses python to parse structured data (key/value pairs) from gdb output. Gdbgui uses it on its backend. (Disclaimer: I am the developer)
Just wanted to mention gdbgui, a new front end to gdb that I developed which is similar to Chrome's debugger, has a gdb terminal which you can fall back to if you want to run gdb commands, and data structure/value plotting and visualizations similar to ddd.
I recently added data structure visualization to a gdb frontend called gdbgui, which might be of interest to people trying to debug their algorithms. https://github.com/cs01/gdbgui
I'm trying to add support for lldb to a gdb frontend (https://github.com/cs01/gdbgui/), and need a gdb-mi compatible interface to do it.
lldb-mi exists, but its compatibility with gdb's mi2 api is incomplete. Does anyone know of a more compatible api to gdb-mi2 commands, or if there are plans to improve lldb-mi's?