Livebook is a web application for writing interactive and collaborative code notebooks. It features:
-
Code notebooks with Markdown support and Code cells where Elixir code is evaluated on demand.
-
Rich code editor through CodeMirror: with support for autocompletion, inline documentation, code formatting, etc.
-
Interactive results via Kino: display Vega-Lite charts, tables, maps, and more.
-
Automation: use Smart cells to perform high-level tasks and write notebooks faster than ever. Query databases, plot charts, build maps, and more directly from Livebook's UI.
-
Reproducible: Livebook ensures your code runs in a predictable order, all the way down to package management. It also tracks your notebook state, annotating which parts are stale.
-
Collaboration: multiple users can work on the same notebook at once, no additional setup required.
-
Decentralized: Livebook is open-source and you can run it anywhere. The "Run in Livebook" badge makes it easy to import any Livebook into your own Livebook.
-
Versionable: notebooks are stored in the .livemd format, which is a subset of Markdown with support for diagrams via Mermaid and for mathematical formulas via KaTex. .livemd files can be shared and play well with version control.
-
Custom runtimes: when executing Elixir code, you can either start a fresh Elixir instance, connect to an existing node, or run it inside an existing Elixir project, with access to all of its modules and dependencies. This means Livebook can be a great tool to introspect and document existing projects too.