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).
Install using conda:
conda install -c beakerx beakerx
Using pip:
pip install beakerx
jupyter nbextension install beakerx --py --sys-prefix
jupyter nbextension enable beakerx --py --sys-prefix
- 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
source activate beakerx
(cd beakerx; pip install -e . --verbose)
jupyter nbextension install beakerx --py --sys-prefix
jupyter nbextension enable beakerx --py --sys-prefix
The kernels are installed to run out of the repo, so just a build should update the java code.
(cd beakerx; python setup.py java)
Note this is currently broken and you need to do a complete rebuild after a java change. See #5739.
(cd beakerx; python setup.py js)
(cd beakerx; 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