Skip to content

SpencerPark/ijava-binder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ijava-binder

Launch IJava binder Launch IJava lab binder

A Binder compatible repository to try out the IJava kernel with just a web browser. Depending on if the docker image is already built, spawning the notebook may take some time and so please be patient with it.

In the future this repository may be populated with more example notebooks but it mainly serves to meet the requirements for using the Binder service to play around with the IJava kernel.

Running locally

Build and start a container with port 8888 exposed from the container.

docker build -t ijava:1.3.0-snapshot .
docker run --rm -it -p 8888:8888 -t ijava:1.3.0-snapshot
# or to work with files from the host
docker run --rm -it -p 8888:8888 -v "$(pwd):/home/jovyan/work" -t ijava:1.3.0-snapshot

The jupyter server should automatically start in the container and print something like:

    To access the server, open this file in a browser:
        file:///home/jovyan/.local/share/jupyter/runtime/jpserver-1-open.html
    Or copy and paste one of these URLs:
        http://710876c77a01:8888/tree?token=<token>
        http://127.0.0.1:8888/tree?token=<token>

Open the link http://127.0.0.1:8888/tree?token=<token> in your browser on the host machine to connect. Optionally use /lab or /doc instead of /tree to go to the jupyterlab home page instead.

repo2docker

Test the binder build locally:

python3 -m pip install jupyter-repo2docker
python3 -m repo2docker .

Other binders running the IJava kernel

Notebook Source Repository Try online
https://github.com/michaelmior/calcite-notebooks Launch calcite-notebooks binder Launch calcite-notebooks lab binder
https://github.com/inspire99/vavr-notebook Launch vavr-notebook binder Launch vavr-notebook lab binder
https://github.com/padreati/rapaio-notebooks Launch rapaio-notebooks binder Launch rapaio-notebook lab binder

Notebook authors

If you are writing Jupyter notebooks in Java and publishing them on GitHub you are more than welcome (and encouraged!) to take any scripts from here and add them to your repository so that visitors may try out your notebooks without any installation.

Likely all that is needed is the Dockerfile at the top level of your repo and the requirements.txt to use the same versions for jupyter packages. Then add some badges from https://mybinder.readthedocs.io/en/latest/howto/badges.html to your README and everything should be good to go! If you have a repository with IJava notebooks, please feel free to open a PR (or raise an issue) adding a link in the list above.

The requirements.txt is generated from a working installation with pipdeptree -f --warn silence -p notebook,jupyterlab | sed 's/^\s*//' | sort | uniq which should pin down all related library versions.