Jupyviv is a solution for working with and running Jupyter Notebooks from plain text editors such as Neovim while using Vivify as a live viewer of the full Notebook in the browser.
Note
Jupyviv is very new. I have been using it myself in my daily workflow for a few months now but there may be bugs that make it hard for you to use it. If this happens, don't hesitate to open an issue, we'll find a solution and fix it!
Aside from allowing you to use your favorite editor with Jupyter Notebooks, the main benefit of Jupyviv comes from the fact that computation is fully decoupled from file handling and your editor:
- Edit and render your Notebooks locally and optionally run computation on a different machine through an SSH tunnel
- Disconnect and keep running: No need to keep the your local machine connected or even running to have the remote keep computing and saving all outputs. This is something Jupyter Notebooks can't do
- Almost no setup on remote: Just install Jupyviv and the Kernel you need, open the SSH tunnel and you are good to go. No need to even clone your repository there or configure anything
pip install jupyvivUsing Jupyviv requires Vivify and a plugin for integration with your editor. See below for a list of existing editor integration.
Jupyviv itself is made up of two components:
- Agent, responsible for computation
- Handler, responsible for handling files locally, and communication between the Agent, your editor, and Vivify
The Handler is always run locally where your editor and Vivify are as well, and should be taken care of by your editor plugin. The Agent can be automatically launched and managed by the Handler, or run separately (optionally on a different machine).
To run the Agent either way, you need the Jupyter Kernel for the respective
language installed, e.g. pip install ipykernel for Python. If you want to run
the agent separately, use jupyviv agent --help for more information.
- for Neovim: jupyviv.nvim