Interactive Plotting

image title

All of BeakerX’s JVM languages plus Python and JavaScript have APIs for interactive time-series, scatter plots, histograms, heatmaps, and treemaps. The widgets remain interactive in both notebooks saved to disk, and notebooks published to the web. They include unique features for handling many points, nanosecond resolution, zooming, and exporting.


Interactive Tables

BeakerX’s table widget automatically recognizes pandas dataframes and allows you to search, sort, drag, filter, format, select, graph, hide, pin, and export to CSV or clipboard. This makes connecting to spreadsheets quick and easy.

image title


Publication

image title

With a single click, convert the current notebook’s contents including any interactive widgets to a Github gist. A new tab opens nbviewer on it, including the active widgets. This is a link you can send anyone.

BeakerX is the successor to Beaker Notebook. After seeing the demo of Jupyter Lab at SciPy 2016 we realized that Jupyter had become extensible enough that much of what made Beaker special could be done in the Jupyter ecosystem.

The result of joining forces with Jupyter is a more powerful tool for our users, and a larger community of developers and users that continues to grow. Jupyter users benefit by getting access to our work as well. And we benefit by leveraging shared infrastructure so we can focus on adding value.

It has taken about a year to port Beaker’s key features to become extensions to Jupyter, and we are very excited to finish this transition and release the results with a new name “BeakerX” that represents both our history and how large a change this is.

What about classic Beaker’s polyglot and autotranslation features?

Beaker Notebook (before BeakerX) is known for supporting polyglot programming, and for autotranslating data between languages. This feature has been the most difficult to fit into Jupyter, and it’s going to take longer to get working.

BeakerX has a prototype implementation that works between Python and JavaScript, and the JVM languages and JavaScript. A more complete implementation is on the agenda.

Can I install BeakerX with pip instead of conda?

Yes, see the instructions. Our documentation focuses on conda for simplicity.

Can I use BeakerX on win32?

Win32 is not supported because OpenJDK on Conda Forge doesn’t support it. Win64 is recommended. But if you install a JDK on your own, it should work.

Can I be informed of new releases?

Yes, please sign up on our email list or follow us on Twitter.

Who is responsible for BeakerX?

It is developed by Two Sigma Open Source. Yes we are hiring.

Tutorials and Examples

Most of the documentation consists of notebooks that show BeakerX’s kernels and widgets in action.

Installation with Conda

We recommend conda to install Jupyter and BeakerX, and to manage your Python environments. BeakerX works with Python 3.5 and above. Conda forge hosts the lastest version.

conda create -y -n beakerx 'python>=3'
source activate beakerx
conda install -y -c conda-forge ipywidgets
conda install -y -c conda-forge beakerx

Installation for Jupyter Lab

BeakerX support for Jupyter Lab is still alpha quality. You can try it as follows:

conda create -y -n labx 'python>=3'
source activate labx
conda install -y -c conda-forge jupyterlab beakerx
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install beakerx-jupyterlab

Upgrading

If you have an environment with a previous version of BeakerX, to upgrade to the latest version use:

conda update -c conda-forge beakerx

Running BeakerX

Start Jupyter with

jupyter notebook

and then use the “New” menu to create a notebook in the language of your choice.

Installation with Pip

You can also install BeakerX with pip.

pip install beakerx
beakerx-install

Running with Docker

Docker is the most reliable way get and run Jupyter and BeakerX since it’s completely self contained.

docker run -p 8888:8888 beakerx/beakerx

Beaker Notebooks Converter

You can convert classic Beaker Notebook files (with file suffix “.bkr”) to Jupyter Notebooks (with file suffix “.ipynb”) as follows:

bkr2ipynb *.bkr

Building and Contributing

We welcome developers to extend and improve BeakerX in ways that can benefit everyone. Please see the README for more information.