https://github.com/stencila/jupita
🌞 Jupyter executor for executable documents
https://github.com/stencila/jupita
Last synced: 3 months ago
JSON representation
🌞 Jupyter executor for executable documents
- Host: GitHub
- URL: https://github.com/stencila/jupita
- Owner: stencila
- License: apache-2.0
- Created: 2019-03-02T19:04:06.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2026-04-15T04:46:13.000Z (3 months ago)
- Last Synced: 2026-04-15T06:31:41.836Z (3 months ago)
- Language: JavaScript
- Homepage: https://stencila.github.io/jupita
- Size: 1.35 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌞 Jupita
#### Jupyter executor for executable documents
[](https://dev.azure.com/stencila/stencila/_build/latest?definitionId=6&branchName=master)
[](https://codecov.io/gh/stencila/jupita)
[](https://www.npmjs.com/package/@stencila/jupita)
[](https://stencila.github.io/jupita/)
## 👋 Introduction
Stencila [Executa](https://github.com/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)](http://jupyter-client.readthedocs.io/en/stable/messaging.html) and [ZeroMQ](http://zeromq.org/) 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
```bash
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,
```bash
jupita register
```
## 📖 Docs
API documentation is available at https://stencila.github.io/jupita.
## 💬 Discuss
We love feedback. Create a [new issue](https://github.com/stencila/jupita/issues/new), add to [existing issues](https://github.com/stencila/jupita/issues) or [chat](https://gitter.im/stencila/stencila) 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`](https://github.com/nteract/kernelspecs) and
[`spawnteract`](https://github.com/nteract/spawnteract), and to Nicolas Riesco for [`jmp`](https://github.com/n-riesco/jmp),
all of which made this implementation far easier!