gitmyhub

livebook

Elixir ★ 5.8k updated 3d ago

Automate code & data workflows with interactive Elixir notebooks

An interactive notebook app for the Elixir language where you mix written notes with runnable code blocks, see results inline, and collaborate with others in real time.

ElixirKinoVega-LiteKaTeXMermaidDockersetup: easycomplexity 3/5

Livebook is an interactive notebook application for the Elixir programming language. A notebook in this context is a document where you mix written text (formatted with Markdown) with code blocks that you can run on demand, seeing the results directly below the code. This format is common in data science and learning contexts, and Livebook brings it to the Elixir ecosystem.

Each code cell runs Elixir, and the results appear inline. Supported output types go beyond plain text: you can display charts using the Vega-Lite specification, render data tables, show maps, and other interactive visualizations through a companion library called Kino. Mathematical formulas (via KaTeX) and diagrams (via Mermaid) can also be embedded in the text portions of a notebook.

Livebook is designed with reproducibility in mind. Code runs in a defined order, the runtime tracks which cells are stale (meaning their inputs have changed since they last ran), and package management is included so notebooks work consistently across different machines. Multiple users can edit the same notebook at the same time without any extra configuration.

Notebooks are saved as .livemd files, which are a subset of Markdown. This means notebook files are plain text, readable in any editor, and work well with version control systems like Git.

Installation options include a desktop app for Windows, macOS, and Linux, a Docker image, a command-line script for machines with Elixir already installed, and a firmware build for embedded devices such as Raspberry Pi. Livebook can also connect to an existing running Elixir application, which makes it a useful tool for exploring and documenting live systems.

Where it fits