I really wish Python had the kind of support for Markdown that R does. Notebooks are fine, but the simplicity of having essentially a plain text file is just amazing.
Knitr theoretically supports anything you can call from R. Chunks pass their code and options to "engine" functions that return the results. Knitr provides a bunch of engines out of the box (Python, awk, SQL). But you can also write your own.
yihui.org/knitr/options/#language-engines
I once made a SAS engine to show coworkers how to adopt report automation without having to rewrite all existing code.
RMarkdown + RStudio + knitr