Skip to content

twosigma/beakerx

Repository files navigation

banner

BeakerX: Beaker extensions for Jupyter

BeakerX is a collection of JVM kernels and interactive widgets for plotting, tables, autotranslation, and other extensions to Jupyter Notebook and Jupyter Lab version 1.2.x and 2.x.

Version 2.x of BeakerX improves on the original solution architecture by providing independent modules that end-users can install to better tune the platform.

The documentation consists of tutorial notebooks on GitHub and a cheatsheet.

BeakerX is the successor to the Beaker Notebook (source code archive). It comes from Two Sigma Open Source. Yes we are hiring.

How to use

To install BeakerX and all kernels use:

conda install -c beakerx beakerx_all

To install only part of the solution choose which kernels to install:

conda install -c beakerx beakerx_kernel_groovy
conda install -c beakerx beakerx_kernel_java
conda install -c beakerx beakerx_kernel_scala
conda install -c beakerx beakerx_kernel_sql
conda install -c beakerx beakerx_kernel_clojure
conda install -c beakerx beakerx_kernel_kotlin

And then install optional packages:

conda install -c beakerx beakerx_kernel_autotranslation
conda install -c beakerx beakerx_tabledisplay
conda install -c beakerx beakerx_widgets

To install BeakerX extensions inside Jupyter Lab 1.2 use

// ensure you have yarn, nodejs and npm installed
conda install -c conda-forge jupyterlab=1.2
conda install -c beakerx beakerx_all

To install BeakerX extensions inside Jupyter Lab 2.x use

// ensure you have yarn, nodejs and npm installed
conda install -c conda-forge jupyterlab=2
conda install -c beakerx beakerx_all

Features

JVM kernels with Interactive Plotting:

screen shot

This feature requires all optional packages.

Autotranslation from Python to JavaScript and D3

screen shot

This feature requires beakerx_kernel_autotranslation package.

Interactive Tables

screen shot

This feature requires beakerx_tabledisplay package.

FAQs

See FAQ.md.

Attribution

BeakerX contains and depends on many projects including:

The kernel is originally derived from lappsgrid, but has been rewritten in Java and refactored and expanded.

The Java support uses Adrian Witas' org.abstractmeta.toolbox.

ANTLR Copyright (c) 2012 Terence Parr and Sam Harwell

d3 Copyright (c) 2010-2015, Michael Bostock

IPython Copyright (c) 2008-2014, IPython Development Team Copyright (c) 2001-2007, Fernando Perez Copyright (c) 2001, Janko Hauser Copyright (c) 2001, Nathaniel Gray

The table of contents and init cells extensions come from: IPython-contrib Copyright (c) 2013-2015, IPython-contrib Developers

Scala Copyright (c) 2002-2015 EPFL Copyright (c) 2011-2015 Typesafe, Inc.

Guava Copyright (C) 2012 The Guava Authors

Apache Spark Copyright (C) 2014 and onwards The Apache Software Foundation.

H2 database engine This software contains unmodified binary redistributions for H2 database engine (https://www.h2database.com/), which is dual licensed and available under the MPL 2.0 (Mozilla Public License) or under the EPL 1.0 (Eclipse Public License). An original copy of the license agreement can be found at: https://www.h2database.com/html/license.html