This resource first appeared in issue #15 on 20 Mar 2020 and has tags Technical Leadership: Software Development, Managing A Team: Data Teams
How to Grow Neat Software Architecture out of Jupyter Notebooks - Guillaume Chevalier
This is an older blogpost which just became a recent talk.
I’m coming around to the point of view that computational notebooks have real problems - obvious ones like hidden state, and maybe less obvious ones like the structure of notebooks actively discourage reasonable software development practices like unit testing or even version control. People even study this.
But in research computing lots of things have problems and we are kind of stuck with them anyway. They are simply too convenient for researchers to be expected to give up. This blog post and talk give a common-sense approach to take what someone’s made in a Jupyter notebook and turn it into decent software. I don’t think the advice is surprising, but the key is that step one is start ripping the code out of the notebook.