Stencila Executa defines an API executing nodes within an executable document that is based on JSON-RPC and able to used across multiple transports (e.g. stdio
, http
, ws
). This package acts a bridge between that API and the Jupyter API, which uses it's own Jupyter Messaging Protocol (JMP) and ZeroMQ as a transport. It allows users of Stencila's interfaces to delegate execution to Jupyter kernels, instead of, or in addition to, Stencila's own executors.
npm install @stencila/jupita --global --python=python2.7
This package relies on dependencies with native add-ons (xeromq
). So you will need to have node-gyp
installed (https://github.com/nodejs/node-gyp#readme). The --python
flag is necessary because, on OSX and Windows, node-gyp
is only compatible with Python 2.7.
Register Jupita so that it can be discovered by other executors on your machine,
jupita register
API documentation is available at https://stencila.github.io/jupita.
We love feedback. Create a new issue, add to existing issues or chat with members of the community.
Most development tasks can be run directly from npm
or via make
wrapper recipes.
Task | npm |
make |
---|---|---|
Install and setup dependencies | npm install |
make setup |
Check code for lint | npm run lint |
make lint |
Run tests | npm test |
make test |
Run tests with coverage | npm run cover |
make cover |
Build documentation | npm run docs |
make docs |
Note that the some of the tests require python3
and the Python packages matplotlib
and Pillow
to be installed.
Many thanks to the nteract community for kernelspecs
and
spawnteract
, and to Nicolas Riesco for jmp
,
all of which made this implementation far easier!