What's new in Livebook 0.10 - Introducing Multi-Session Livebook Apps
Today we’re launching Livebook 0.10! 🎉
This major update brings many exciting features, with the spotlight being the introduction of multi-session Livebook apps.
We’ve also added a presentation view, initial Erlang support, Live Doctests, and dataframe file export. Let’s dive in and explore these new features.
Multi-Session Livebook Apps
Livebook 0.9 introduced Livebook apps. This is a way to turn your notebook into an interactive web application. Now, we’re expanding that further.
Initially, Livebook Apps was designed for long-running applications. Behind the scenes, only one instance of a Livebook app could run at any given moment. Since Livebook has built-in support for multiple users, all users accessing an app would be sharing the same instance of the app. We’re now calling that single-session Livebook apps.
This new version introduces multi-session Livebook Apps. What’s different is that when you join a multi-session application, you get a version of that app exclusively for you. Like single-session apps, multi-session apps can run for as long as they want, but most often, they will receive user input, execute several instructions, and then exit.
We believe they are an excellent fit for automating technical and business workflows. You can think of them as something similar to scripts, but instead of running in a terminal, they are interactive web applications accessed through the browser.
For example, instead of repeatedly being asked to run one-off scripts, you can package that script as a Livebook app and makes it accessible to other team members to run it, at any time, by themselves.
Let’s see how that works.
Presentation View
We noticed many people use Livebook for presentations. However, it can be frustrating to switch between Livebook and your slides. Also, showing the whole notebook can distract your audience. But there’s good news!
Franklin Rakotomalala contributed a Presentation view feature that hides the sidebar and focuses on the part of your notebook you want to present. Here’s how it works.
Shout out to Franklin!
Initial Erlang Support
You can now write Erlang code inside Livebook. Not only that, but you can combine it with Elixir in the same notebook. If you define a function or a variable inside one language, you can easily use it in the other.
Watch the video below for an example.
This was a community contribution by Benedikt Reinartz. Thanks to him, Livebook now supports multiple BEAM languages.
Live Doctests
Starting from version 0.8, doctests are integrated with Livebook. This new version comes with exciting improvements in that area.
When you evaluate a cell with doctests, a traffic light-like status appears on the left of each doctest. This gives you a visual indication if it passed or not. Additionally, when the doctest fails, the failing result is directly inlined in the code editor.
Here’s how it works:
This is a step towards bringing Live Programming concepts into Livebook, the idea that for “programming to be more fluid, editing and debugging should occur concurrently as you write code.”
This one started with the code contribution of Jose Vargas and the research work of Szymon Kaliski.
Dataframe File Export
When working on a data analysis task using Livebook, you might need to access the analysis result from another tool or share them with someone who prefers opening it in a spreadsheet.
Now, you can easily do that by exporting your dataframe to a CSV, NDJSON, or Parquet file. Here’s how it works:
Try it!
To play with the new features, follow these steps:
- Install the latest Livebook version
- Import the demo notebook that showcases the new features by clicking the badge below
And if you want to discover everything that changed in 0.10, here’s the changelog.
Happy hacking!