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. BeakerX is in beta and under active development.
The documentation consists of tutorial notebooks on GitHub. You can try it in the cloud for free with Binder.
BeakerX is the successor to the Beaker Notebook (source code archive). It comes from Two Sigma Open Source. Yes we are hiring.
This README is for developers. Users should see the documentation on the homepage for how to install and run BeakerX.
Dependencies:
Build and Install
conda create -y -n beakerx 'python>=3' nodejs pandas openjdk maven
source activate beakerx
conda install -y -c conda-forge ipywidgets
(cd beakerx; pip install -e . --verbose)
beakerx install
Build and Install for Lab
conda create -y -n labx 'python>=3' nodejs pandas openjdk maven
source activate labx
conda install -y -c conda-forge jupyterlab
(cd beakerx; pip install -e . --verbose)
beakerx install
jupyter labextension install @jupyter-widgets/jupyterlab-manager
(cd js/lab; jupyter labextension install .)
Update after Java change
The kernels are installed to run out of the repo, so just a local build should suffice:
(cd kernel; ./gradlew build)
Update after JS change
The notebook extensions are installed to run out of the repo, so just a local build should suffice:
(cd js/notebook; yarn install)
Run Tests
The Java unit tests are run with every build. See [test/README.md] for how to run the e2e tests.
Groovy with Interactive Plotting and Tables:
Autotranslation from Python to JavaScript
Running with Docker
docker run -p 8888:8888 beakerx/beakerx
Contributing
See CONTRIBUTING.md.
Releasing
See RELEASE.md.
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