See also What's new in Jupytext 1.3?
Added
- Pairing a notebook to both
.mdand.pyis now supported. Input cells are loaded from the most recent text representation (#290) - Both the Jupyter Notebook and the Jupyter Lab extension for Jupytext were updated (#290)
- Raw cells are now encoded using HTML comments (
<!-- #raw -->and<!-- #endraw -->) in Markdown files (#321) - Markdown cells can be delimited with any of
<!-- #region -->,<!-- #markdown -->or<!-- #md -->(#344) - Code blocks from Markdown files, when they don't have an explicit language, appear in Markdown cells in Jupyter (#321)
- Code blocks with an explicit language and a
.noevalattribute are inactive in Jupyter (#347) - Markdown and raw cells can be quoted with triple quotes in the
py:percentformat. And Markdown cells can start with just# %% [md](#305) - The light format uses
# + [markdown]rather than the previouscell_typemetadata to identify markdown cells with metadata (#356) - Explicit Markdown cells in the light format
# + [markdown]can use triple quotes (#356) - IPython magic help commands like
float?are classified as magics, and thus commented in Python scripts (#297) - Cell metadata can be encoded as either
key=value(the new default) or in JSON. An automatic optioncell_metadata_jsonshould help minimize the impact on existing files (#344) - R Markdown hidden inputs, outputs, or cells are now mapped to the corresponding Jupyter Book tags by default (#337)
- The notebook metadata filter is automatically updated when extra keys are added to the YAML header (#376)
- The Jupyter Notebook extension for Jupytext is compatible with Jupyter Notebook 6.0 (#346)
jupytext notebook.py --to ipynbupdates the timestamp ofnotebook.pyso that the paired notebook still works in Jupyter (#335, #254)jupytext --check pytest notebook.ipynbcan be used to run test functions in a notebook (#286)jupytext --checkandjupytext --pipecan run commands that only operate on files: when{}is found in the text of the command,jupytextsaves the text representation of the notebook in a temp file, and replaces{}with the name of that file before executing the command. (#286)- Documented how to sync notebooks in a pre-commit hook (#338)
- Added support for Rust/Evxcr, by Jonas Bushart (#351)
- Added support for Robot Framework, by Asko Soukka (#378)
- Added support for PowerShell (#349)
Changed
- Use
CHANGELOG.mdrather thanHISTORY.rst
Fixed
- Commands like
cat = xare not magic commands, so they are not commented any more (#339) - Fixed an inconsistent round trip (code cell with
"cat"being converted to a markdown cell) in thepy:lightformat (#339) jupytext --test textfile.extnow really compares the text file to its round trip (rather than the corresponding notebook) (#339)- Markdown cells that contain code are now preserved in a round trip through the Markdown and R Markdown formats (#361)
- Code cells with a
%%python3cell magic are now preserved in a round trip through the Markdown format (#365) jupytext --executeruns the notebook in its folder (#382)- Strings in the metadata of code cells are quoted in the Rmd representation. And we escape R code in chunk options with
#R_CODE#(#383)