holst

A parser for Jupyter notebooks.

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License AGPLv3
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:24

Installation

nimble install holst
choosenim install holst
git clone https://github.com/ruivieira/nim-holst

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
holst - - - - - - -

Source

Repository https://github.com/ruivieira/nim-holst
Homepage https://github.com/ruivieira/nim-holst
Registry Source nimble_official

README

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].