BeakerX: Beaker extensions for Jupyter
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.
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
Usage
Start the Jupyter Notebook server: jupyter notebook
Developer Install
Dependencies:
conda create -y -n beakerx python=3.5 jupyter openjdk pandas
source activate beakerx
(cd beakerx; python setup.py install --single-version-externally-managed --record record.txt && python setup.py kernels)
Update after Java change
The kernels are installed to run out of the repo, so just a build should update the java code.
(cd kernel; ./gradlew build)
Note this is currently broken and you need to do a complete rebuild after a java change. See #5739.
Update after JS change
(cd beakerx/js; yarn webpack)
Beaker Notebooks Converter
python -m beakerx.bkr2ipynb *.bkr
Groovy with Interactive Plotting and Table Saw:
Autotranslation from Python to JavaScript:
Running with Docker
In root project call
(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
Contributing
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.
Attribution
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


