As long as this works for the author, good for them. What I found out looking at post after post, tool after tool, press release after press release, is that these tools optimize for the workflow of n=1 person working on a toy project with no stakes.

There is a disconnect:

- Most non-trivial machine learning projects I've seen involve more than one person and have stakes.

- Most people do not work on non-trivial machine learning projects with stakes

The map becomes the territory: many people then develop "ML project lifecycle management" or improve the "notebook experience" with better stylesheets for that kind of experience. i.e: the experience of one person working on a toy project for a YouTube video or a Medium blog post on "production machine learning" from someone who's never done it before.

I'm not pissing on those who produce this kind of content; they're likely doing it for feedback. I'm selfish in that it is part of my job to stay up to date but the low signal to noise ratio gives the feeling of being rickrolled with every piece of content about machine learning.

Whenever I see a notebook, I think, "Where are the tests?"

Agreed, but I highly recommend checking out nbdev.

It's used to build all of fastai's libraries, and with nbdev, the notebooks ARE the docs and tests.

I use pytest and standard IDE for most projects, but have used nbdev/jupyter on a few work projects and been astounded at the productivity boost.

Git issues with notebooks, producing pip modules, two way syncing between notebooks and code, if there is a problem that naked jupyter has for development, Jeremy Howard and team have solved it with nbdev.

Check it out.

We're experimenting with `nbdev`[0], especially in our effort to support fast.ai's[1] latest course 'fastbook'[2] on iko.ai[3], to test their notebooks faster. Though scheduling notebooks on our platform is a breeze[4][5] and we could launch the 20 notebooks really fast even manually and check their output while running (some fail that way as they required user interaction for FileUpload or something, and we decided to use fixtures).

- [0]: https://github.com/fastai/nbdev

- [1]: https://www.fast.ai/

- [2]: https://github.com/fastai/fastbook

- [3]: https://iko.ai

- [4]: https://iko.ai/docs/notebook/#long-running-notebooks

- [5]: https://pbs.twimg.com/tweet_video/Entg8COXcAIDdTI.mp4