-
Notifications
You must be signed in to change notification settings - Fork 1
Description
This is a genius concept for Juypter and I think revolutionizes the whole platform. However I confess I am finding the question of the scope of subnotebooks and parameter passing a bit unclear and I feel a tad more example detail would help.
As a matter of format if the examples were Juypter cells rather than consol interactions it would be easier to relate to.
Could you also please clarify the seeming contradictions:
"execs all the code cell's within Example.ipynb sequentially in the context of that module"
and
"Importantly - the notebook code is not imported as a python module - rather, all the code within the notebook is re-run on each call to run_notebook()"
What I find confusing is scope. If notebook A calls notebook B does B inherit all variables from A as if it was a continuation of A (just an automatically loaded set of cells with input and output suppressed) or does it require parameters like a function? You hint at this by distinguishing run_notebook_in_process() from run_notebook() but once again its not abundantly clear.
Can Notebook B be used in a loop with changing input values?
In my tests I have been trying to pass a pandas dataframe. It's been very perplexing trying to work out where to declare variables in A or B so that they get recognised, or whether a keyword argument is a variable or what?
The term "keyword arguments" in
"If desired, values can be injected into the notebook for use during notebook execution by passing keyword arguments"
is not clear. Are we talking about variable values? In which case are they limited to strings? or is there no restriction on type?
I am somewhat surprised by the relatively low level of following you have for this initiative given how useful it could be, and I suspect some of that may be because the documentation needs a bit more work.
Happy to help if that would be useful. I'm more of a writer than a programmer anyway.
kind regards
peter