holst

A parser for Jupyter notebooks.


Keywords
jupyter, markdown, parser, nim
License
AGPL-3.0
Install
nimble install holst@#0.1.3

Documentation

CI builds.sr.ht status

nim-holst

A parser for Jupyter notebooks.

setup

Add holst to your nimble project:

requires "holst"

and run nimble install

examples

reading

Load and parse a Jupyter notebook in /tmp/foo.ipynb:

import holst

let notebook = read("/tmp/foo.ipynb")

metadata

Get the kernel's metadata

echo notebook.metadata.kernelspec.language # => python
echo notebook.metadata.kernelspec.name # => Python 3

exporting

Export the notebook as markdown

let md = notebook.markdown()

Images are rendered as links in Markdown, you can export the image data to files with

notebook.image_prefix = "notebook-img"
notebook.image_rel_path = "./my_images"
notebook.image_dest = "/tmp/html/my_images"
notebook.export_images()

iterating

Apply a method to each code cell:

notebook
    .filter(proc(cell: Cell): bool = cell.kind = Cell.Code)
    .map (
        # do something
    )

compatibility

holst works with Jupyter notebooks with format 4+.

mailing lists

Please prefix the subject with [nim-holst].