Eric Rawn
07/07/2026, 11:09 PMnotebook() function anywhere in a regular python program, which will pause the program execution, create an embedded IPython kernel on your current stack frame, and connect a Jupyter Notebook interface to it. To avoid a wall of text I'll make this a thread:Eric Rawn
07/07/2026, 11:09 PMJoshua Horowitz
07/08/2026, 4:20 AMTom Larkworthy
07/08/2026, 6:36 AMKonrad Hinsen
07/08/2026, 7:37 AMguitarvydas
07/08/2026, 9:03 AMEric Rawn
07/08/2026, 8:12 PMnotebook() and run my python program. A notebook interface is generated for me from that function body, and the current stackframe is put into my notebook kernel state.
3. I make changes to my function, having the function arguments (and whatever else) available to me in my interactive session.
4. I send my changes back to the original source files with a button at the top of the Nod pane, where my cells are converted back to plaintext, and I see the changes appear in my text editor.
The way I have started to use it is that I'll plan out a dummy function and call it with arguments, then in the body of that empty function I write notebook() and run my program, then write the whole function in the notebook editor. If I need a range of values, I can write a few lines which will call nodLog(functionArgs) up until the nth call of the function, then will call notebook(), and the arguments from previous function calls will be available to me in a list in Jupyterlab to test between (this is very helpful for working with underspecified JSON APIs, for example).Eric Rawn
07/08/2026, 8:33 PMEric Rawn
07/08/2026, 8:37 PM