py2nb
py2nb copied to clipboard
[This is no longer maintained] Python script to Jupyter notebook converter
Warning: This is unmaintained
I do not have the bandwidth to maintain this project. If you are interested, please feel free to fork and modify.
PY2NB: Python To Notebook Converter
This is a small utility for turning python scripts into jupyter notebooks and convert module-level multiline (triple quote) string literals into markdown cells.
Why?
I wanted a tool to create user examples that can be executed as normal python scripts so that they can be copy-and-pasted easily and can be rendered as notebook for better readability (e.g nice styling, results embedded).
Also,
- Notebooks are nice to look at but slow to write
- Notebooks does not play well with version control
Install
python setup.py install
Usage
To convert a python script into a notebook:
python -m py2nb input.py output.ipynb
Additional commandline not from this package
Execute a notebook:
ipython nbconvert --to=notebook --execute input.ipynb
Convert a notebook to a HTML:
ipython nbconvert --to=html input.ipynb
Samples
See "samples" directory.
How?
Uses python tokenize (builtin tokenizer library) for tokenization.
String literals with triple quote at column zero are converted into a comment
token with special <markdowncell> and <codecell> to feed into the python
importer in IPython version 3. The processed tokens are untokenized using the
tokenize module so that untouched line looks exactly the same as the input.
License: BSD 3