/ipynb-py-convert

Convert .py files runnable in VSCode or Atom/Hydrogen to Jupyter .ipynb notebooks and vice versa

Primary LanguagePythonMIT LicenseMIT

ipynb-py-convert

Atom/Hydrogen or VSCode/Python allows creating a python files split into cells with # %% separators with the ability to run cells via backend Jupyter session and interactively show results back.

More examples: Jupyter Python VSCode examples, Atom/Hydrogen Getting Started.

ipynb-py-convert python module converts files: .ipynb to .py and .py to .ipynb.

ipynb-py-convert is a fork of the vscode-ipynb-py-converter.

Install

conda install -c defaults -c conda-forge ipynb-py-convert

or

pip install ipynb-py-convert

Troubleshooting

  • If encoding problems on Windows try using python>=3.7, setting set PYTHONUTF8=1 in Windows console and use ipynb-py-convert for UTF-8 files only. If using Git-Bash on Windows setting:
export LANG=C.UTF-8
export PYTHONIOENCODING=utf-8
export PYTHONUTF8=1

should be enough. Also try setting default Bash settings to UTF-8: [Options] - [Text] - [Locale / Character set] - [C / UTF-8]. It might affect all Bash runs so there would be no need to setting encoding every time.

Example

ipynb-py-convert examples/plot.py examples/plot.ipynb

or

ipynb-py-convert examples/plot.ipynb examples/plot.py

VSCode

Markdown cells are converted to python multiline strings '''. Code cells are left as is. # %% is used by vscode as the cell marker on which 'Run Cell' action is available.

Metadata is converted from notebooks into .py and vise versa using # !! to denote the meta data lines in the .py files

Jupyter ipynb notebook