This document writing is in progress, but its content should be correct (but succint).
Using a debugger (pdb…)¶
Using a debugger works (as in any python piece of code), but you must be aware that each node runs in a separate thread, which means a few things:
If a breakpoint happens in a thread, then this thread will stop, but all other threads will continue running. This can be especially annoying if you try to use the pdb REPL for example, as your prompt will be overriden a few times/second by the current excution statistics.
To avoid that, you can run bonobo with QUIET=1 in environment, to hide statistics.
If your breakpoint never happens (although it’s at the very beginning of your transformation), it may mean that something happens out of the transform. The
bonobo.execution.contexts.NodeExecutionContextinstance that surrounds your transformation may be stuck in its while True: transform() loop.
Break one level higher
Using printing statements¶
Of course, you can
Using the console: bonobo inspect –graph.
Using Jupyter notebook: install the extension and just display a graph.
Where to jump next?¶
We suggest that you go through the tutorial first.
Then, you can read the guides, either using the order suggested or by picking the chapter that interest you the most at one given moment: