Open source
accu_book
Headless notebook core: cells, dependency graph, jobs, and save files. Free and open source, built by the Accumath team for the community.
About
The headless core of a local notebook, written in Rust: cells and documents, undo and redo, an explicit dependency graph with stale tracking, a local job queue, a plug-in engine interface, and plain-text .accu save files. It has no network kernel and no hidden state. It has no user interface of its own, and a host program supplies the engine that evaluates cells.
Current version 1.0.0 · License MIT OR Apache-2.0
accu_book on crates.io · Source on GitHub
accu_book on crates.io · Source on GitHub
Built and tested (1–13)
63 tests pass on version 1.0.0. An item is listed here only when it is built, has tests, and those tests pass.
- 1Notebook document model (code and markdown cells with IDs and metadata; insert, move, edit, remove)
- 2Content hashes (BLAKE3) for each cell and the whole notebook
- 3JSON round-trip that preserves IDs, order, sources, and metadata
- 4Undo and redo history with a depth limit
- 5Explicit cell dependency graph (cycles, self-edges, and unknown cells rejected; dependency-ordered execution)
- 6Stale tracking (editing or removing a cell marks everything downstream stale)
- 7Local job queue with one job at a time, cancellation, and typed failures
- 8Plug-in engine interface (simplify, solve, LaTeX output, assumptions) for a host-supplied engine
- 9Session layer tying edits, jobs, runs, and undo together
- 10One status per cell (idle, stale, queued, running, ready, failed)
- 11Explicit dependencies by default, with optional inference, saved in the file
- 12No stale variables: a cell’s old results are cleared when it is edited, removed, or re-run
- 13Plain-text .accu save and load, with bad files rejected
Still to build (14–16)
- 14C ABI with a generated C header
- 15Python package
- 16Example C host with tests
All open-source projects
Buy a pre-release Accumath license — $25+