BeakerX is a collection of JVM kernels with widgets, plotting, tables, autotranslation, and other extensions to the Jupyter Notebook and Jupyter Lab. BeakerX is in alpha, with major features still under development, including incompatible changes without notice.
The documentation consists of tutorial notebooks on GitHub.
BeakerX is the successor to the Beaker Notebook (source code archive).
Using pip:
pip install beakerx
beakerx-install
- conda (any Python 3 environment with Jupyter Notebook, Node.js, and JDK installed should be fine, but our documentation assumes conda)
- yarn
conda create -y -n beakerx python=3.5 jupyter openjdk nodejs pandas
source activate beakerx
(cd beakerx; pip install -e . --verbose)
beakerx-install
The kernels are installed to run out of the repo, so just a local build should suffice:
(cd kernel; ./gradlew build)
The notebook extensions are installed to run out of the repo, so just a local build should suffice:
(cd beakerx/js; yarn install)
You can convert classic Beaker Notebook files (with file suffix ".bkr") to Jupyter Notebooks (with file suffix ".ipynb") as follows:
python -m beakerx.bkr2ipynb *.bkr
From project root:
(cd kernel; gradle clean)
To build beakerx base image execute
docker build -t beakerx-base -f docker/base/Dockerfile .
To build beakerx image execute
docker build -t beakerx -f docker/Dockerfile .
Now if you would like to start BeakerX execute
docker run -p 8888:8888 beakerx
We welcome developers to extend and improve BeakerX 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.
BeakerX uses Google Java style, and all Java code needs unit tests. For JavaScript we use Google JS style with require instead of goog.
Beaker 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
Julia Copyright (c) 2009-2015: Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Scala Copyright (c) 2002-2015 EPFL Copyright (c) 2011-2015 Typesafe, Inc.
H2 database engine This software contains unmodified binary redistributions for H2 database engine (http://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: http://www.h2database.com/html/license.html