Code Monkey home page Code Monkey logo

beaker-notebook's Introduction

#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 a work very much in progress. 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, Ruby, JavaScript, HTML, Markdown, and LaTeX.

Beaker has a plugin-based architecture, so additional languages are easily added.

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

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

Build Status

Users should download Beaker from BeakerNotebook.com

Developers, see the page for your platform for how to build from source: Ubuntu, Mac, Windows

beaker-notebook's People

Contributors

anglee avatar scottdraves avatar yubowenok avatar samccone avatar jchendy avatar planetmcd avatar stnoonan avatar ajschumacher avatar bwignall avatar jheiss avatar ildipo avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.