I havenโt really played with nbprocess (newer version of nbdev), but I do the find the concept interesting.
With nbprocess - the actual code is written in python notebooks mixed with exploration and tests - and that notebook is used to emit python module with only exported cells.
nbprocess is evolution of nbdev and will become nbdev2 but nbdev page has better motivation doc right now:
https://nbdev.fast.ai/
For eg:
Notebook with few exported cells:
https://github.com/fastai/nbprocess/blob/master/nbs/06_merge.ipynb
This results in this python file:
https://github.com/fastai/nbprocess/blob/master/nbprocess/merge.py
They also use the same notebook to generate documentation too using quarto to render notebooks.
In anycase, it is tangential, but looked interesting to share :)