I have jupyter-notebook running on my own Mac with the caylsto-processing library plugged in so I can run processing scripts in a notebook in a browser tab. But I am trying to be able to run this all in binder, so that I can share my processing scripts with students during class. I created a Github repository and have it linked to a binder, and the binder builds and launches, but the only kernel available is python 3.
I have read that I can include a bunch of configuration files, but I'm new to these and I don't see any examples that bring in the calysto-processing kernel, so I'm unsure on how to proceed.
Screenshot of my binder with the jupyter-notebook with a processing script - but when you click on kernels, the only kernel it shows is python:
Any help would be appreciated.
Calysto Scheme is a real Scheme programming language, with full support for continuations, including call/cc. It can also use all Python libraries. Also has some extensions that make it more useful (stepper-debugger, choose/fail, stack traces), or make it better integrated with Python.
What is nbviewer? nbviewer is a web application that lets you enter the URL of a Jupyter Notebook file, renders that notebook as a static HTML web page, and gives you a stable link to that page which you can share with others.
BinderHub is a web application that allows users to create sharable, interactive, reproducible environments from code repositories. It uses repo2docker to generate Docker images for each environment, and JupyterHub to provide interactive user sessions from those images.
Very good question. Ayman suggestion is good.
I've just installed calysto_processing
and noticed 3 things are necessary:
calysto_processing
package via pip, calysto_processing
package. First point should be easy with requirements.txt
.
I'm unsure what the best option is for the second step (maybe a custom setup.py ?).
Step 3 feels the trickiest.
Installing Processing currently isn't supported with apt-get
so Dockerfile
might be way forward (even through mybinder
recommend that only as a last resort).
Let's assume a Dockerfile would contain all the steps to manually download/install processing (and I'm not super experienced with Docker at the moment btw), it will need to be executed which will require a windowing system to render the Processing window. I don't know how well that plays with Docker, sounds like it's getting into virtual machine territory.
That being said, looking at the source code right here:
<canvas/>
element within the Jupyter NotebookI'm not sure what the easiest way to run the current calysto_processing
in mybinder
as is.
My pragmatic (even hacky if you will) suggestion is to:
processing-java
dependency (which means might loose error checking)Update I have tried the above: you can run test kernel here
The source is here and the module is installed from this fork which simply comments out the processing-java
part.
In terms of the mybinder
configuration it boils down to:
calysto_processing
stripped off the processing-java
dependency: git+https://github.com/orgicus/calysto_processing.git@hotfix/PJS-only-test
calysto_processing
module: python -m calysto_processing install --user
Notes
<canvas/>
using ProcessingJS: this means no processing-java libraries, no threads or other java specific features,(buggy or no 3D),etc. just basic Processing drawing sketchesIf you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With