Skip to content

lmitusinski/beakerx

 
 

Repository files navigation

banner

BeakerX: Beaker extensions for Jupyter

Build Status Gitter chat Release NPM version PyPI Version Anaconda-Server Badge Binder Docker Hub

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:

screen shot

Autotranslation from Python to JavaScript

screen shot

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

About

Beaker Extensions for Jupyter Notebook

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 67.9%
  • JavaScript 19.8%
  • Jupyter Notebook 4.0%
  • Python 3.9%
  • TypeScript 2.0%
  • Scala 0.9%
  • Other 1.5%