Skip to content

jbangdev/jbang-jupyter

Repository files navigation

JBang Jupyter Kernel

Unleash the power of Java in Jupyter notebooks.

This project packages a Java Jupyter kernel powered by org.dflib.jjava:jjava-kernel and embraces the JBang ethos: fast starts, simple dependency management, and a great developer experience.

Why

  • Easy dependency management with Maven coordinates and JBang-friendly conventions

  • Modern Java experience in Jupyter (Java 17+)

  • Built on jjava-kernel for robust protocol handling, with room for JBang niceties

Status

This repo provides a working kernel launcher and sample configuration. Expect iteration as we smooth the developer and user experience.

Requirements

Quickstart

  1. Install as a Jupyter kernelspec

You can use https://github.com/jupyter-java install-kernel script to install this kernel.

This will install the default kernel to the default location.

jbang install-kernel@jupyter-java jbang

This will install the kernel from your local built version.

jbang install-kernel@jupyter-java --script-ref=dev.jbang:jbang-jupyter:0.1.0-SNAPSHOT:fatjar@fatjar jbang

This will print out where it installed the kernel. You can manually tweak the kernel.json if needed. i.e. if you want to attach a debugger to the kernel add --debug=suspend=n

How it works (high level)

  • Jupyter launches the kernel process with a connection file

  • Main parses the connection, creates JBangKernel, and attaches sockets

  • jjava-kernel handles the wire protocol; we focus on Java UX and JBang-style behavior

About

Experimental jupyter kernel using jbang

Resources

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 2

  •  
  •  

Languages