Livebook: A collaborative and interactive code notebook for Elixir


  • José Valim
  • April 13th, 2021
  • nx, axon, exla, livebook

Livebook

We are glad to impart Livebook, an starting up offer web application for writing interactive and collaborative code notebooks in Elixir and utilized with Phoenix LiveView. Livebook is a in fact essential step in our slump to allow the Erlang VM and its ecosystem to be steady for numerical and scientific computing.

I in fact possess recorded a screencast that highlights some Livebook aspects, which that you simply would be capable to also evaluate below. It additionally showcases the Axon library, for building Neural Networks in Elixir, as smartly as some improvements coming in Elixir v1.12:

Livebook is a Dashbit mission developed by Jonatan Kłosko, with contributions from myself, Jon Klein, Chris McCord, and designed by Aakash Raj Dahal. We are glad to possess an starting up offer example of a fancy LiveView application out in the wild and we hope you revel in the exercise of it!

Parts

In the occasion that you simply would be capable to also’t yet evaluate the video, right here’s a summary of Livebook aspects:

  • A deployable web app built with Phoenix LiveView
    where customers can compose, fork, and flee more than one notebooks.

  • Every notebook is fabricated from more than one sections: every share is fabricated from Markdown and Elixir
    cells. Code in Elixir cells will also be evaluated on ask. Mathematical formula are additionally
    supported by strategy of KaTeX.

  • Persistence: notebooks will also be persisted to disk by the .livemd structure, which is a
    subset of Markdown. This methodology your notebooks will also be saved for later, without considerations shared, and
    they additionally play smartly with version alter.

  • Sequential overview: code cells flee in a selected checklist, guaranteeing future customers of
    the same Livebook evaluate the same output. In the occasion you re-discontinue a earlier cell, following cells
    are marked as unique to invent it certain they depend upon outdated-usual notebook disclose.

  • Custom runtimes: when executing Elixir code, that you simply would be capable to also both launch a recent Elixir direction of,
    join to an present node, or flee it inside an present Elixir mission, with access to
    all of its modules and dependencies. This methodology Livebook on the entire is a expansive instrument to offer
    live documentation for present projects.

  • Explicit dependencies: if your notebook has dependencies, they are explicitly listed and
    set up in with the wait on of the Mix.set up/2 checklist in Elixir v1.12+.

  • Collaborative aspects allow more than one customers to work on the same notebook straight away.
    Collaboration works both in single-node or multi-node deployments – without a
    need for further tooling.

Here’s a uncover at the “Welcome to Livebook” introductory notebook:

Livebook

This announcement offers completely the preliminary step of our Livebook vision. Our diagram
is to proceed focusing on visual, collaborative, and interactive aspects in the upcoming
releases.

Pleased coding!

Read More

Recent Content