🌐 Website · 📚 Documentation
Go notebooks with native speed, kept values and a reproducible order.
A notebook is a Markdown file whose ```go blocks are cells. The kernel
compiles it into a real Go program, so cells run at native speed; orders the
cells by what they use, worked out from the code itself as marimo does for
Python, not by the order you ran them in; and runs only what changed. A cell
whose code and inputs did not change keeps its result, and its values are
handed over instead of being computed again, across rebuilds and across runs.
go install github.com/go-notebook/notebook/cmd/notebook@latest
notebook run analysis.md # run it, print each cell's results
notebook html analysis.md # run it, write analysis.html (no scripts, no external resources)
notebook watch analysis.md # run it on every save and keep analysis.html current| Repo | What it is |
|---|---|
| notebook | the kernel, the notebook command and the HTML export (Go 1.27.2 or later) |
| playground | a notebook in the browser, cells interpreted in WebAssembly, no server — the imported libraries run compiled, only the notebook's own code is interpreted |
| docs | the documentation site (Hugo + Hextra), served at /docs/ |
| go-notebook.github.io | the landing page (Hugo) |
| brand | logo, icons and social images |
It is part of an ecosystem with go-ndarray
(NumPy-style arrays) and go-fft (numpy.fft).
