This is false. If you save your notebooks with jupytext, they are just plain python files that can be reviewed normally.
This is false. If you save your notebooks with jupytext, they are just plain python files that can be reviewed normally.
This isn't the same at all.
Often in a well done notebook you'll have data display etc which doesn't translate well to a plain python file.
[editing to be less snarky and more helpful]
I agree with your comment, but I do in fact use org-mode as a single source of truth document that can export documentation, tests, source code, and all that jazz. From what I can tell nbdev and org-mode are about the same in terms of features. It doesn't need any special post-processing to make git-diff useful, because org-mode's file format is plain text.
My org-mode workflows start with doom-emacs[1] because otherwise Emacs customization is too much of a time sink. I've written a couple peer-reviewed papers in org-mode (exporting to pdf), my blog is written org-mode (exported to html), and I've done the "literate" thing witih code+docs+tests in one file.
For me, org-mode is better as a file format because it's plain text. I don't mind making quick edits in GitHub or vim if I'm away from Emacs for some reason. But it's definitely best to work with org-mode from within Emacs.
Notebooks are more enjoyable to look at while you're editing them, whereas org-mode generally needs a separate "export" step to be pretty.
Here's a representative example from a blog post: https://gitlab.com/hoosieree/hoosieree.gitlab.io/-/blob/mast... (result is here: https://alexshroyer.com/posts/2023-05-21-Stack-VM-Language.h...)
The svg images (which gitlab renders) are actually generated by a code block in the org-mode file:
#+CAPTION: N times M compilers
#+headers: :file ../images/n_times_m.svg :cmdline -Tsvg
#+begin_src dot :exports results
digraph {
node [fontname="Comic Sans MS" shape=record];
L1[label="Language1"];
L2[label="Language2"];
node [shape=oval];
A1[label="Arch1"];
A2[label="Arch2"];
A3[label="Arch3"];
L1->A1;
L1->A2;
L1->A3;
L2->A1;
L2->A2;
L2->A3;
}
#+end_src
I put my cursor in there and hit Enter, and it generates the svg.