Jupytext allows plain scripts that you can draft and test in your favorite IDE and open naturally as notebooks in Jupyter. You can run the notebook in Jupyter for generating output, associating a .ipynb representation, along with saving and sharing your research.
Paired notebooks let you store a .ipynb file alongside the text-only version. Paired notebooks can be enabled by adding a jupytext_formats entry to the notebook metadata with Edit/Edit Notebook Metadata in Jupyter's menu.
On saving the notebook, both the Jupyter notebook and the python scripts are updated.
There’s a jupytext script present for command line conversion between the various notebook extensions:
jupytext notebook.ipynb --to md --test (Test round-trip conversion)
jupytext notebook.ipynb --to md --output (display the markdown version on screen)
jupytext notebook.ipynb --to markdown (create a notebook.md file)
jupytext notebook.ipynb --to python (create a notebook.py file)
jupytext notebook.md --to notebook (overwrite notebook.ipynb) (remove outputs)
Round-trip conversion is also possible with Jupytext. Converting Script to Jupyter notebook to script again is identity, meaning that on associating a Jupyter kernel with your notebook, the information will go to a yaml header at the top of your script. Converting Markdown to Jupyter notebook to Markdown is again identity.
Converting Jupyter to script, then back to Jupyter preserves source and metadata.
Similarly, converting Jupyter to Markdown, and Jupyter again preserves source and metadata (cell metadata available only for R Markdown).
For more information on, check out the official release notes.
10 reasons why data scientists love Jupyter notebooks
Is JupyterLab all set to phase out Jupyter Notebooks?
How everyone at Netflix uses Jupyter notebooks from data scientists, machine learning engineers, to data analysts