Obsidian has evolved, and integrating the plugin with the new live preview editor is non-trivial. Here is an alternative setup that is future proof, less prone to bugs, and supports many of the requested features (such as storing outputs and supporting input
calls).
pip install jupyterlab jupytext [other dependencies]
.jupyter lab
from the root directory of your vault.Open With > Notebook
to open the Obsidian note as a Jupyter notebook.Optionally, you can "pair" markdown-based notebooks with classic notebook files (.ipynb
extension) to keep the results if you close and reopen a notebook. To do so, add a jupytext.toml
file to the root directory of your vault containing the following code. This will create a hidden .ipynb
directory containing the results of your notebook for later use.
formats = "md,.ipynb//ipynb"
Unfortunately, this option does not support Jupyter notebooks within Obsidian, but reproducing the Jupyter experience would be a substantial undertaking.
This plugin allows python code blocks in fences with jupyter
language to be executed as Jupyter notebooks.
python -c 'import sys; print(sys.executable)'
from the console. The python version should be at least 3.7.pip install jupyter --upgrade
from the console to install the latest version. You can also use the Install dependencies
button in the settings to install the requirements.This plugin has been tested with the following python dependencies. If you encounter problems, please update your python dependencies before opening an issue.
jupyter==1.0.0
jupyter-client==7.0.2
jupyter-console==6.4.0
jupyter-core==4.7.1
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.0.1
nbclient==0.5.4
nbconvert==6.1.0
nbformat==5.1.3
notebook=6.4.3
/usr/bin/python
.The python interpreter can also be specified for each document using YAML frontmatter.
---
obsidian-jupyter:
interpreter: interpreter-path
---