Alpha software. Rough edges everywhere. For a reliable reactive notebook, use Pluto.jl. Sessions.jl explores ideas at the intersection of reactive notebooks, file-based collaboration, and one-click interactive publishing.
Requires Julia 1.12+.
using Pkg
Pkg.Apps.add(url="https://github.com/GroupTherapyOrg/Sessions.jl")Add ~/.julia/bin to your PATH, then:
sessions notebook.jl # Open notebook in browser
sessions # New empty notebook
sessions run notebook.jl # Run headlessly (CI/scripts)Sessions.jl is a reactive Julia notebook that runs as a local web IDE. Edit notebooks in the browser, from the terminal, or programmatically — a file watcher picks up all changes and the UI updates live.
- Plain
.jlfiles. Same format as Pluto. Edit anywhere. - Code/state separation. Code in
.jl, cached outputs in.sessions.toml. Delete the cache anytime. - Full IDE. CodeMirror editor, file explorer, integrated terminal. One window.
- One-click publishing. Export notebooks as static HTML with interactive
@bindwidgets compiled to JavaScript via JavaScriptTarget.jl.
- Therapy.jl — SolidJS-inspired web framework for Julia
- JavaScriptTarget.jl — Julia-to-JavaScript transpiler
- Pluto.jl file format and reactive engine
- Malt.jl, CodeMirror, xterm.js, Shoelace
MIT