Distributing Jupyter Lab Extension that has frontend and backend (server extension)

Hello! I have just developed a Lab Extension for our JupyterLab instance. The extension has a frontend and a backend (server extension) components.

I have built the extension using the steps in this tutorial. I got the lab extension installed and listed when executing jupyter labextension list however it is not shown when executing jupyter serverextension list. I have also followed the logic I have seen in other lab extensions such as dask-hub.

I was wondering if there is a way of installing and enabling a lab extension, both lab frontend and server extension, that is different from the one I have seem so far.

For more references I have seen this and this.

Thank you very much for the information in advance

spellchecker is a very simple extension that has both frontend and backend and is distributed via single pip install; see this pull request which introduced the backend extension.

Also, the GitHub - jupyterlab/extension-cookiecutter-ts: A cookiecutter recipe for JupyterLab extensions in Typescript was recently updated to demonstrate how to make releases with jupyter-releaser, but it might not be necessary for your use case; still worth checking the changes there once in a while as it continuously gets improved.


Hello @krassowski Thank you very much for all the information! I have found a couple of things that I have missed, such as adding the jupyter-config files to my data_files_spec array in my setup.py.

I have just tested and it works perfectly.

Dziekuje bardzo!

1 Like

Also (maybe for others that see this in the future…) see the example at extension-examples/server-extension at master · jupyterlab/extension-examples · GitHub

1 Like