• Stars
    star
    200
  • Rank 195,295 (Top 4 %)
  • Language
    Python
  • Created about 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

IPython notebook-compatible live coding experiment

Livebook

Livebook is an IPython notebook-compatible experiment to share your data stories on the web. It features live coding, realtime collaboration, a WYSIWYG prose editor, and runs 100% in the browser.

screenshot

Motivation and audience

We data scientists tell stories with data. This is why the notebook format is so powerful: a mix of explanatory prose, data, and executable code that produces charts and tables.

When we share our notebook with a client, researcher, or other colleague who is not a heavy IPython/Jupyter user, we typically send them static HTML or a PDF. But this doesn't invite them into the story, because they cannot freely tinker with the results without setting up their own Python environment.

By uploading a notebook to Livebook, you can share it in a format that allows them to play with the code or edit the prose without installing anything. When your colleagues can interact with your data stories, your narrative becomes bidirectional.

Livebook is an experiment, not for production use. We hope it will demonstrate some ideas and perhaps inform future possibilities for the Jupyter project.

Features

Live coding

Play around with your code and plots, and get instant results as you type. No need to rerun cells or track cell dependencies.

Realtime collaboration

Work on your notebooks simultaneously and see your collaborators' edits on the fly.

WYSIWYG prose editor

Structure and document your notebooks as if you were writing a regular text file, including easy formatting and highlighting. Your colleagues don't need to know Markdown to contribute to the notebook.

Setup

Try it

http://livebook.inkandswitch.com/

Install or develop it

Livebook is open source and can be run locally, run on a server, or deployed to Heroku. Instructions are in doc/INSTALL.md.

Caveats

  • developed on Chrome; functionality may be incomplete on other browsers
  • currently not supporting full pandas, but a stand-in “fauxpandas” library
  • matplotlib shim very incomplete
  • no ability to use wider ecosystem of python tools
  • can’t use print statements
  • CSV file cannot be changed after initial upload
  • size of embedded CSV file limited to a few thousand records

Technologies

Meta

Released under the MIT license.

Big thanks to the wonderful folks in the IPython/Jupyter community, the authors of all the technologies listed above, and John Templon, Justin Bozonier, and Randal Olson for the sample notebooks.

Made with <3 by Adam Wiggins, Orion Henry, Brett Beutell, and Lucía Santamaría.

More Repositories

1

peritext

A CRDT for asynchronous rich-text collaboration, where authors can work independently and then merge their changes.
TypeScript
654
star
2

cambria-project

Schema evolution with bi-directional lenses.
TypeScript
616
star
3

farm

🌱 Grow delightful software
Elm
249
star
4

tiny-essay-editor

simple markdown editor w inline comments, on latest automerge stack
TypeScript
214
star
5

capstone

An experimental, tablet-based tool for developing your ideas
TypeScript
175
star
6

potluck

TypeScript
74
star
7

ksp-browser

Connect the things you already know in your browser.
TypeScript
71
star
8

backchannel

Local-first address book
TypeScript
67
star
9

ksp

Reference implementation of Knowledge Server Protocol (KSP)
Rust
48
star
10

backchat

A relationship-based digital identity system.
TypeScript
31
star
11

vscode-hypermerge

A VSCode plugin to edit Hypermerge documents
TypeScript
28
star
12

upwelling-code

The Upwelling research prototype.
TypeScript
23
star
13

interactive-shape-recognition

Implementaion of "A Simple Approach to Recognise Geometric Shapes Interactively" by Joaquim A. Jorge and Manuel J. Fonseca.
JavaScript
18
star
14

eup-experiment-pipes

JavaScript
16
star
15

flutter-hello

A sample flutter drawing app
Objective-C
16
star
16

cambria-automerge

TypeScript
16
star
17

here

resilient location sharing
TypeScript
12
star
18

inkling

archived prototype for sketching dynamic models
TypeScript
8
star
19

automerge-todomvc-http

An automerge TodoMVC interop demo
Rust
5
star
20

cambria-express

use cambria to migrate API requests as express middleware
TypeScript
5
star
21

farm-peer

A cloud peer for farm to keep data warm while your computer is sleeping.
TypeScript
4
star
22

discovery-cloud-client

TypeScript
4
star
23

Inkteractions

JavaScript
1
star