<!-- Copyright 2014 TWO SIGMA OPEN SOURCE, LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->
#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.
Beaker is both a server that you can run in the cloud, an application that you can download and run, and
a Docker container that you can run anywhere.
This page is for developers. If you want to use or learn more about Beaker, see the home page.
Notebooks can published and converted into web pages that anyone can access with an ordinary web browser, even on a mobile device.
This free service is integrated into the application, and can be applied with just one click to any cell, section, or a whole notebook.
Plots and tables remain interactive in published version. Learn more, and explore a variety of notebooks from the user community on the publication server.
#Build, test, and run instructions
cd test; ./runner to run the end-to-end tests with Protractor.
cd test; ./perftest to run performance tests with Protractor. Performance tests are pretty demanding and will lock up the browser performing the tests. Any interaction with the browser while the tests are running will affect the tests and skew the results.
To enable the debug menu, add the following to your
##Presentation and Demo on YouTube
Beaker supports autotranslation of variables between languages. For
example, you can read and process some data in Python, model it with
R, and then turn that into an interactive visualization with
There are plugins for each language, and interaction plugins as well.
The architecture and the organization of the source is code is covered
in the Architecture
Beaker's full source code and documentation is available under the
Apache 2.0 license.
We welcome developers to extend and improve Beaker in ways that can
benefit everyone. In order for us to accept your code or pull request,
we need for you to fill out and email back to us a scan of a signed copy of the
Contributor License Agreement.
We're also looking to expand our full-time, NYC-based engineering team
with a full-stack web developer.