GORBIE
A minimalist notebook for Rust.
Every other notebook environment tries to make notebooks easier. GORBIE tries to make them simpler. A notebook is just Rust — no server, no custom file format, no sync step. Your notebook lives in your project, runs in-process, and draws with egui.
Your notebook is a fn main(). Full IDE support, debugger, any crate as a dependency. No runtime, no kernel, no cell execution model.
GORBIE doesn't replace your IDE. It opens a window. You edit code in VS Code, vim, Emacs — whatever you already use. cargo run to see the result.
Use any Rust crate directly. No serialization, no subprocess boundaries, no foreign function interface. Your data stays where it is.
No magic. Immediate-mode rendering redraws every frame. State lives in handles. If you know egui, you know GORBIE. If you don't, you'll learn both in an afternoon.
use gorbie::prelude::*;
#[notebook]
fn main(nb: &mut NotebookCtx) {
nb.view(|ctx| {
md!(ctx, "# Hello\nA _minimalist_ notebook for **Rust**.");
});
let value = nb.state("slider", 0.5, |ctx, v| {
ctx.slider(v, 0.0..=1.0);
});
nb.view(|ctx| {
md!(ctx, &format!("Value: {value:.2}"));
});
}
[dependencies]
gorbie = "0.16"
Add the dependency. Write a fn main(). Run cargo run.
That's it. No setup, no config, no server.