/beaker-notebook

Web-based, polyglot research platform.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

#Beaker - the data scientist's laboratory

Beaker is a code notebook that allows you to analyze, visualize, and document data using multiple programming languages. Beaker's plugin-based polyglot architecture enables you to seamlessly switch between languages in your documents and add support for your favorite languages that we've missed.

This page is for developers. If you want to use or learn more about Beaker, see the home page.

Beaker is currently in early beta release and is not yet production quality. We find it useful and we hope you do too, but there are bugs and the user interface and APIs are going to change. We love to improve it and we look forward to hearing your feedback. screenshots

##Language support

We currently provide support for Python, R, Julia, Groovy, JavaScript, HTML, Markdown, Latex.

Beaker is built with a plugin-based architecture, so additional languages can easily by added by us or anybody else.

##Iterative exploration

The notebook format is based on blocks of code called cells. Cells can be added anywhere in the notebook and can be edited and run independently from each other. This makes an ideal environment for iterative exploration of data and coding ideas.

##Visualizations

Visualizations create with libraries like ggplot2 and matplotlib will appear directly in the notebook along with your code.

##Inline documentation

The inclusion of markup languages like HTML, Markdown, and Latex means that you can document your work right alongside your code.

##Organization

Beaker provides several features to help your organize your notebooks, for your own convenience or for sharing your work with colleagues.

These features include: collapsible nested sections with headers, lock notebook (hide all code and disable editing), toggle visibility of code and output on individual cells, initialization cells (run automatically on notebook load), and delete all output.

##Notebook viewer

We provide a notebook viewer that can render any notebook accessible from the web. We also provide a one-click action to save a copy of your notebook to a GitHub Gist and generate a notebook viewer link.

The viewer is, of course, open source. This means you can install a copy on your private cloud to view notebooks you don't want to share with the whole world

##Plugin-based architecture Beaker was designed from the beginning with flexibility in mind. All of the core functionality including language evaluation, menu items, and output displays are built using plugins. This means that any language or feature you want to add to Beaker can work just as well as everything we've included by default.

Plugins are written in JavaScript and have the option to start a process on the back end server. For anything that uses only JavaScript, you can simply provide your users with the URL for the plugin, which they can load directly from the UI.

Plugin specifications:

Evaluator plugins

Menu plugins

Output display plugins

##Open source Beaker's full source code and documentation is available under the Apache 2.0 license. Beaker's sharing feature uses a server with its own repository.

#Build and run instructions

Users should download beaker from BeakerNotebook.com

Developers, see below for how to build from source.

Ubuntu

Mac

Windows