@stencila/jupita
v0.3.0
Published
Jupyter interpreter for executable documents
Downloads
48
Readme
🌞 Jupita
Jupyter executor for executable documents
👋 Introduction
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.
📦 Install
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.
🚀 Use
Register Jupita so that it can be discovered by other executors on your machine,
jupita register
📖 Docs
API documentation is available at https://stencila.github.io/jupita.
💬 Discuss
We love feedback. Create a new issue, add to existing issues or chat with members of the community.
🛠️ Develop
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.
🙏 Acknowledgments
Many thanks to the nteract community for kernelspecs
and
spawnteract
, and to Nicolas Riesco for jmp
,
all of which made this implementation far easier!