A parser for Jupyter notebooks.
Add holst
to your nimble
project:
requires "holst"
and run nimble install
Load and parse a Jupyter notebook in /tmp/foo.ipynb
:
import holst
let notebook = read("/tmp/foo.ipynb")
Get the kernel's metadata
echo notebook.metadata.kernelspec.language # => python
echo notebook.metadata.kernelspec.name # => Python 3
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()
Apply a method to each code cell:
notebook
.filter(proc(cell: Cell): bool = cell.kind = Cell.Code)
.map (
# do something
)
holst
works with Jupyter notebooks with format 4+.
- Announcements: https://lists.sr.ht/~ruivieira/nim-announce
- Discussion: https://lists.sr.ht/~ruivieira/nim-discuss
- Development: https://lists.sr.ht/~ruivieira/nim-devel
Please prefix the subject with [nim-holst]
.