These processors are essentially shared C++ libraries which are loaded and operated by python as extension modules. Their public APIs are discussed in the tutorial, and the internals are discussed in the chapter on the C++ API, though some particularities are worth mentioning here.
It is sometimes necessary to debug C/C++ code even when it is controlled through a python API. This makes debugging a bit inconvenient. With gdb, you have to issue target exec python before executing the python script that calls an extension module.