The beakerx
object synchronizes values between languages, including JavaScript, Python, Groovy, and the other JVM languages. BeakerX's current implementation works with metaprogramming and serializing the objects to JSON, so it's not recommended for more than a few MB of data. Using Arrow and shared memory to remove that limitation is on the agenda.
Start in Groovy:
beakerx.foo = "a groovy value"
Translate to JavaScript:
%%javascript
alert(beakerx.foo);
beakerx.bar = [23, 48, 7, "from JS"];
And back to Groovy:
beakerx.bar
Or Python:
%%python
from beakerx import beakerx
beakerx.bar
Or Scala:
%%scala
beakerx.bar