n-riesco/jmp

Higher level API

n-riesco opened this issue · 3 comments

From #2 (comment) by @willwhitney:

"
My ideal situation would be to have jmp implement 100% of the communication between a kernel and a client, heartbeat included. The project using jmp would then not need to know anything about the Jupyter protocol at all.

Instead, jmp could expose an event that could be subscribed to with something like

jmp.on('disconnected', function() {})

Really, the overall API I'm proposing would be higher-level than what's in jmp right now. The dream would be

jmp.on('execute_request', function(requestObject) {})
jmp.on('complete_request', function(requestObject) {})
jmp.on('inspect_request', function(requestObject) {})

etc.

But maybe that's a conversation for a different day — this is already a great start.
"

From #6 (comment) by @rgbkrk

"[...] I'd eventually see us in a position of providing a Session object. We three have all implemented it in separate ways within ijavascript, Hydrogen, and sidecar. During SciPy when I'm hacking with folks on some other electron prototypes, we'll certainly be doing the same again."

Just to leave a note on this, I'm now running with a higher level API on top of Observables. This is no longer a requested feature from me, we'll just build on top of jmp and make new packages.

OK, I will close this issue now. I imagine we will revisit this issue when Hydrogen's kernel manager gets redesigned.