Skip to content

IPython notebook-compatible live coding experiment

Notifications You must be signed in to change notification settings

fabianhick/livebook

 
 

Repository files navigation

#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.

About

IPython notebook-compatible live coding experiment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.3%
  • JavaScript 2.3%
  • Jupyter Notebook 2.2%
  • Go 0.1%
  • CSS 0.1%
  • HTML 0.0%