holst
A parser for Jupyter notebooks.
Summary
| Latest Version | Unknown |
|---|---|
| License | AGPLv3 |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
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
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
- 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].