Skip to content

Releases: mwouts/jupytext

Version 1.3.0

23 Nov 09:38
Compare
Choose a tag to compare

See also What's new in Jupytext 1.3?

Added

  • Pairing a notebook to both .md and .py is 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 .noeval attribute are inactive in Jupyter (#347)
  • Markdown and raw cells can be quoted with triple quotes in the py:percent format. And Markdown cells can start with just # %% [md] (#305)
  • The light format uses # + [markdown] rather than the previous cell_type metadata 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 option cell_metadata_json should 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 ipynb updates the timestamp of notebook.py so that the paired notebook still works in Jupyter (#335, #254)
  • jupytext --check pytest notebook.ipynb can be used to run test functions in a notebook (#286)
  • jupytext --check and jupytext --pipe can run commands that only operate on files: when {} is found in the text of the command, jupytext saves 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.md rather than HISTORY.rst

Fixed

  • Commands like cat = x are 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 the py:light format (#339)
  • jupytext --test textfile.ext now 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 %%python3 cell magic are now preserved in a round trip through the Markdown format (#365)
  • jupytext --execute runs 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)

Version 1.3.0rc2

14 Nov 08:12
Compare
Choose a tag to compare
Version 1.3.0rc2 Pre-release
Pre-release

Read a more user friendly version here!

Added

  • Pairing a notebook to both .md and .py is 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 .noeval attribute are inactive in Jupyter (#347)
  • Markdown and raw cells can be quoted with triple quotes in the py:percent format. And Markdown cells can start with just # %% [md] (#305)
  • The light format uses # + [markdown] rather than the previous cell_type metadata 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 option cell_metadata_json should 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 ipynb updates the timestamp of notebook.py so that the paired notebook still works in Jupyter (#335, #254)
  • jupytext --check pytest notebook.ipynb can be used to run test functions in a notebook (#286)
  • jupytext --check and jupytext --pipe can run commands that only operate on files: when {} is found in the text of the command, jupytext saves 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.md rather than HISTORY.rst

Fixed

  • Commands like cat = x are 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 the py:light format (#339)
  • jupytext --test textfile.ext now 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 %%python3 cell magic are now preserved in a round trip through the Markdown format (#365)
  • jupytext --execute runs 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)

Version 1.3.0rc1

08 Nov 06:22
Compare
Choose a tag to compare
Version 1.3.0rc1 Pre-release
Pre-release

Read a more user friendly version here!

Improvements

  • Pairing a notebook to both .md and .py is 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 .noeval attribute are inactive in Jupyter (#347)
  • Markdown and raw cells can be quoted with triple quotes in the py:percent format. And Markdown cells can start with just # %% [md] (#305)
  • The light format uses # + [markdown] rather than the previous cell_type metadata 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 option cell_metadata_json should 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 Jupyter Notebook extension for Jupytext is compatible with Jupyter Notebook 6.0 (#346)
  • jupytext notebook.py --to ipynb updates the timestamp of notebook.py so that the paired notebook still works in Jupyter (#335, #254)
  • jupytext --check pytest notebook.ipynb can be used to run test functions in a notebook (#286)
  • jupytext --check and jupytext --pipe can run commands that only operate on files: when {} is found in the text of the command, jupytext saves the text representation of the notebook in a temp file, and replaces {} with the name of that file before executing the command. (#286)
  • Added support for Rust/Evxcr, by Jonas Bushart (#351)
  • Added support for PowerShell (#349)

BugFixes

  • Commands like cat = x are 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 the py:light format (#339)
  • jupytext --test textfile.ext now 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 %%python3 cell magic are now preserved in a round trip through the Markdown format (#365)

Version 1.3.0rc0

13 Oct 09:21
Compare
Choose a tag to compare
Version 1.3.0rc0 Pre-release
Pre-release

Improvements

  • Raw cells are now encoded using HTML comments (<!-- #raw --> and <!-- #endraw -->) in Markdown files. And code blocks from Markdown files, when they don't have an explicit language, are displayed as Markdown cells in Jupyter (#321)
  • Markdown and raw cells can use multiline comments in the py:percent format (#305)
  • jupytext notebook.py --to ipynb updates the timestamp of notebook.py so that the paired notebook still works in Jupyter (#335, #254)

BugFixes

  • Fixed an inconsistent round trip (code cell with "cat" being converted to a markdown cell) in the py:light format (#339)
  • Commands like cat = x are not magic commands {#339)
  • jupytext --test now really compares the text (rather than the corresponding notebook) when run on text files (#339)

Version 1.2.4

19 Sep 17:29
Compare
Choose a tag to compare

Improvements

  • The documentation includes a mention on how to set metadata filters at the command line (#330)
  • Jupytext will not catch any error when the flag --warn-only is not set (#327)

BugFixes

  • Now the flag --warn-only catches every possible error (#263)
  • .md and .markdown files are treated identically (#325)
  • Fixed --set-kernel when using pipes (#326)
  • Fixed utf-8 encoding on stdout on Python 2 (#331)

Version 1.2.3

02 Sep 20:13
Compare
Choose a tag to compare

BugFixes

  • Dependency on setuptools in pandoc.py made optional to fix the build of the conda package (#310, #323)

Version 1.2.2

01 Sep 17:06
Compare
Choose a tag to compare

Improvements

  • Documentation includes a section on how to use Jupytext as a Python library (#317)
  • Mention of the server extension in the documentation (#304)
  • Text notebooks can be tested with jupytext --execute notebook.md (#303)
  • The default value of as_version in jupytext.read is nbformat.NO_CONVERT, as for nbformat.read
  • Jupytext tests are now included in sdist (#310)

BugFixes

  • Fixed the usability of the fmt argument in jupytext.read (#312)
  • Fixed the download notebook error when c.notebook_extensions has a custom value (#318)
  • String delimiters in commented text are now ignored (#307)

Version 1.2.1

20 Jul 07:08
Compare
Choose a tag to compare

Improvements

  • Added documentation on how to use Jupytext with JupyterLab 0.35 (#299)
  • and on using Jupytext with the pre-commit package manager (#292)
  • The read and write functions are easier to use (#292)

BugFixes

  • Jupytext now ships the jupyterlab-jupytext extension in version 1.0.2. The version 1.0.1 erroneously introduces a target_formats metadata in the jupytext section, instead of formats, and works only after two clicks.

Version 1.2.0

17 Jul 23:51
Compare
Choose a tag to compare

Improvements

  • New --execute option in Jupytext CLI (#231)
  • The --set-formats option in Jupytext CLI also triggers --sync, allowing shorter commands.
  • jupytext's read and write functions can be used as drop-in replacements for nbformat's ones (#262).
  • jupytext --sync will now skip unpaired notebooks (#281).
  • The JupyterLab extension was updated. It now works on on text files (#213) and has a new option to include (or not) the metadata in the text representation of the notebook.
  • Jupytext's contents manager class is derived dynamically from the default CM class for compatibility with
    jupyter_server (#270)
  • Removed dependency on mock and testfixtures, thanks to Jean-Sebastien Dieu (#279)
  • Added support for .markdown extension (#288)

BugFixes

  • The jupyterlab-jupytext extension shipped with the python package is in version 1.0.1, and is compatible only with JupyterLab >= 1.0. If you use an earlier version of JupyterLab, please install the version 0.19 of the extension with jupyter labextension install jupyterlab-jupytext@0.19 (#276, #278)
  • Text files can be unpaired (#289)

Version 1.2.0-rc2

09 Jul 22:56
Compare
Choose a tag to compare
Version 1.2.0-rc2 Pre-release
Pre-release

Improvements

  • New --execute option in Jupytext CLI (#231)
  • The --set-formats option in Jupytext CLI also triggers --sync, allowing shorter commands.
  • jupytext's read and write functions can be used as drop-in replacements for nbformat's ones (#262).
  • jupytext --sync will now skip unpaired notebooks (#281).
  • The JupyterLab extension was updated. It now works on on text files (#213) and has a new option to include (or not) the metadata in the text representation of the notebook.
  • Jupytext's contents manager class is derived dynamically from the default CM class for compatibility with
    jupyter_server (#270)
  • Removed dependency on mock and testfixtures, thanks to Jean-Sebastien Dieu (#279)

BugFixes

  • The jupyterlab-jupytext extension shipped with the python package is in version 1.0, and is compatible only with JupyterLab >= 1.0. If you use an earlier version of JupyterLab, please install the version 0.19 of the extension with jupyter labextension install jupyterlab-jupytext@0.19 (#276, #278)