# Requirements for running matter-repl in jupyterlab
# Once installed, start with
#
# jupyter-lab
#
# --------------------------------------
# %reset -f
# import importlib.util
# spec = importlib.util.find_spec('matter.ReplStartup')
# %run {spec.origin}
# --------------------------------------
#

jupyterlab
ipykernel
jupyterlab-lsp
python-lsp-server
jupyterlab-git
