jupytext

Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts

MIT License

Downloads
1.4M
Stars
6.4K
Committers
90

Bot releases are visible (Hide)

jupytext - Version 1.5.0rc1

Published by mwouts over 4 years ago

Added

  • Jupytext can use a local or global configuration file (#508)
  • Jupytext can pair notebooks in trees. Use e.g. notebooks///ipynb,scripts///py:percent if you want to replicate the arborescence of notebooks under notebooks in a folder named scripts (#424)
  • Jupytext is tested in pip and conda environments, on Linux, Mac OS and Windows, using Github actions (#487)
  • Pre-commit checks and automatic reformatting of Jupytext's code with pre-commit, black and flake8 (#483)
  • Groovy and Java are now supported, thanks to Przemek Wesołek's contribution (#500)
  • Mention that the YAML header can be created with either --set-kernel, --set-formats, or both (#485)
  • Mention that one should use double quotes, not single quotes, around jupytext --check commands like "pytest {}" on Windows (#475)

Fixed

  • Skip the jupytext --execute tests when the warning Timeout waiting for IOPub output occurs, which is the case intermittently on Windows (#489)
  • Fixed wrong paired paths when syncing with the --pre-commit flag (#506)
jupytext - Version 1.4.2

Published by mwouts over 4 years ago

Added

  • Added an example with custom notebook metadata (#469)
  • Added an example with custom cell tags (#478)

Changed

  • The outputs from the .ipynb file are matched with the input cells from the text file with less strict rules. In this version, a search and replace on the text file will not remove the outputs any more (#464).
  • Update parsing of myst notebooks to new (markdown-it based) parser (please upgrade to myst-parser to version ~0.8) (#473)
  • Use os.path.samefile when searching for the kernel that corresponds to the current environment (--set-kernel -)

Fixed

  • Fixed the CLI example for not commenting out magic commands: --opt comment_magics=false. In addition, most of the jupytext commands in using-cli.md are now tested! (#465)
  • jupytext.read and jupytext.write now give more meaningful errors when the format information is incorrect (#462)
  • Multiline comments starting or ending with quadruple quotes should not cause issues anymore (#460)
  • Fixed active cells in the py:percent format (#477)
jupytext - Version 1.4.1

Published by mwouts over 4 years ago

1.4.1 (2020-03-19)

Added

  • Script of script (SoS) notebooks are now supported. Thanks to Thomas Pernet-coudrier for contributing the sample notebook (#453).
  • New MyST Markdown format (md:myst), developed by the ExecutableBookProject team. Read more about the MyST Markdown format in the documentation. And many thanks to Chris Sewell for contributing the actual implementation! (#447 #456 #458)

Fixed

  • When using jupytext --pipe cmd, the output of cmd should not appear in the terminal (#432)
jupytext - Version 1.4.0

Published by mwouts over 4 years ago

Changed

  • The new jupyterlab extension (in version 1.2.0) is compatible with JupyterLab 2.0. Many thanks to Jean Helie! (#449)
  • It is not compatible with JupyterLab 1.x anymore. If you wish, you can install manually the previous version of the extension with jupyter labextension install [email protected].

Fixed

  • Display the output/errors of command executed with jupytext --pipe or jupytext --check (#432)
jupytext - Version 1.3.5

Published by mwouts over 4 years ago

Fixed

  • Removed leading slash in notebook paths (#444)
  • Fixed jupytext --set-formats when using formats with prefix and/or suffix (#450)
jupytext - Version 1.3.4

Published by mwouts over 4 years ago

Added

  • C# and F# Jupyter notebooks are now supported (#427, #429)

Fixed

  • jupytext --to script *.ipynb now computes the script extension for each notebook (#428)
  • Fix shebang handling for languages with non-# comments, by Jonas Bushart (#434)
  • Indented bash commands are now commented out (#437)
  • The main formats are documented in jupytext --help (#426, #433)
jupytext - Version 1.3.3

Published by mwouts over 4 years ago

1.3.3 (2020-01-27)

Added

  • Jupytext has a logo! Many thanks to Kyle Kelley for contributing the logo (#423), and to Chris Holdgraf for suggesting this (#260).
  • Nested metadata filtering is now supported! You can use this to rid of jupytext_version if you wish (#416).

Fixed

  • Code cells in the Markdown format can contain triple backticks inside multiline strings (#419).
  • Changes in the YAML header when running jupytext --test on text files are ignored (#414).
jupytext - Version 1.3.2

Published by mwouts almost 5 years ago

Fixed

  • The --pre-commit mode now ignores non-notebook files in the index (#338).
  • nbformat_minor is taken from the notebook with outputs when inputs and outputs are merged.
jupytext - Version 1.3.1

Published by mwouts almost 5 years ago

Added

  • New nomarker format in the Jupyter Notebook and JupyterLab extensions (#397)

Changed

  • The normarker format replaces the one previously named bare.

Fixed

  • Multiline strings are now accepted in the YAML header (#404). Fix contributed by ZHUO Qiang (#405).
  • Fixed the instructions on how to use multiline comments for all Markdown cells in the py:percent format, by ZHUO Qiang (#403).
  • Added cd to the list of magic commands.
  • Do not read paired files when --set-formats is being used (fixes #399).
jupytext - Version 1.3.0

Published by mwouts almost 5 years ago

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)
jupytext - Version 1.3.0rc2

Published by mwouts almost 5 years ago

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)
jupytext - Version 1.3.0rc1

Published by mwouts almost 5 years ago

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)
jupytext - Version 1.3.0rc0

Published by mwouts about 5 years ago

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)
jupytext - Version 1.2.4

Published by mwouts about 5 years ago

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)
jupytext - Version 1.2.3

Published by mwouts about 5 years ago

BugFixes

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

Published by mwouts about 5 years ago

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)
jupytext - Version 1.2.1

Published by mwouts over 5 years ago

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.
jupytext - Version 1.2.0

Published by mwouts over 5 years ago

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 [email protected] (#276, #278)
  • Text files can be unpaired (#289)
jupytext - Version 1.2.0-rc2

Published by mwouts over 5 years ago

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 [email protected] (#276, #278)
jupytext - Version 1.1.7

Published by mwouts over 5 years ago

Improvements

  • Added support for Scala notebook, by Tobias Frischholz (#253)
  • Added a getting started notebook for jupytext (and Binder), by Chris Holdgraf (#257)
  • The Markdown and R Markdown representations are now tested for all the languages
  • The Jupytext notebook extension also works when the notebook is a text file (#213)

BugFixes

  • The Jupytext Menu in Jupyter Notebook is now compatible with jupyter_nbextensions_configurator (#178)
  • Entries in the Jupytext menu are updated when the menu is hovered on (#248)
  • Fixed link to .md files in the documentation (#255)
Package Rankings
Top 5.52% on Conda-forge.org
Top 0.79% on Pypi.org
Top 23.34% on Anaconda.org
Top 6.34% on Npmjs.org
Badges
Extracted from project README
CI Documentation Status codecov.io Code style: black GitHub language count Conda Version Pypi pyversions Binder:lab Binder:notebook launch - renku