You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've already mentioned this in #12 (comment), but I think this deserves its own issue.
During the move from nbconvert to nbclient, the Executor class evolved into something that's not really a meaningful class anymore. Instead, it is something that takes a few input parameters and produces an output. In other words, it turned into a function disguised as a class.
I think there are two possible ways to improve this, I don't know which one is better in this case:
Get rid of the Executor class and implement everything in the stand-alone execute() function. This would of course become a huge function, so probably some parts of it should be factored out in separate (probably internal) functions and classes.
Make the Executor great again. An Executor class should be instantiated with some set of options and it should provide an execute() method that can be repeatedly (and ideally concurrently) be used to execute multiple notebooks with those given options.
The text was updated successfully, but these errors were encountered:
I've already mentioned this in #12 (comment), but I think this deserves its own issue.
During the move from
nbconvert
tonbclient
, theExecutor
class evolved into something that's not really a meaningful class anymore. Instead, it is something that takes a few input parameters and produces an output. In other words, it turned into a function disguised as a class.This is clearly visible by its usage here:
nbclient/nbclient/execute.py
Line 721 in ad2eba7
This was somewhat better in
nbconvert
(see https://github.com/jupyter/nbconvert/blob/8c9bffc8deb65ced99b20684ddd148fd885ad9e8/nbconvert/preprocessors/execute.py#L765-L766):I think there are two possible ways to improve this, I don't know which one is better in this case:
Get rid of the
Executor
class and implement everything in the stand-aloneexecute()
function. This would of course become a huge function, so probably some parts of it should be factored out in separate (probably internal) functions and classes.Make the
Executor
great again. AnExecutor
class should be instantiated with some set of options and it should provide anexecute()
method that can be repeatedly (and ideally concurrently) be used to execute multiple notebooks with those given options.The text was updated successfully, but these errors were encountered: