jupyter_wire 0.0.2

Jupyter kernel written in D


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

jupyter-wire

Build Status

An implementation of the Jupyter wire protocol in D.

This library was written so that any backend written in or callable by D can be a jupyter kernel. A backend must be a D type that satisfies the following compile-time interface:

LanguageInfo info = T.init.languageInfo;
ExecutionResult result = T.init.execute("foo");

For a backend type that doesn't require initialisation, the following code is sufficient:

struct MyBackend {
    enum languageInfo = LanguageInfo(/*...*/);
    ExecutionResult execute(in string code) {
       // ...
    }
}

mixin Main!MyBackend;

Otherwise, initialise as necessary and call Kernel.run:

import jupyter.wire.kernel: Kernel;
auto k = kernel(backend, connectionFileName);
k.run;

Please consult the example directory for a working (albeit silly) kernel.

Windows

Set the environment variables ZMQ_DIR_32 and/or ZMQ_DIR_64 for where to find the zmq.lib when building. Remember to copy the revelant .dll to the executable path.

Authors:
  • Atila Neves
Dependencies:
zmqd, asdf
Versions:
0.0.2 2019-Mar-22
0.0.1 2018-Oct-16
~master 2019-Mar-22
Show all 3 versions
Download Stats:
  • 0 downloads today

  • 2 downloads this week

  • 3 downloads this month

  • 22 downloads total

Score:
0.0
Short URL:
jupyter_wire.dub.pm