Several people have asked "why not a Jupyter notebook?" There are several reasons, but one is that notebooks require each cell to be a runnable piece of code. For explanatory purposes, authors frequently want to show excerpts or snippets, e.g., a few lines from a function or one method from a class. There are ways to do this with notebooks, but they're all very clumsy.
The GitHub repo for the book includes all the text and all the code. I’d like to put them side-by-side, so that as I read the narrative I can run and debug the code that’s being described. Here’s how I’m doing that in VSCode.