# JupyterLab IDE Customization

**URL:** <https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271>\
**Category:** JupyterLab\
**Tags:** jupyterlab, how-to, help-wanted\
**Created:** [October 16, 2021, 3:53pm UTC](https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271 "2021-10-16T15:53:56Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![marko20](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@marko20](https://discourse.jupyter.org/u/marko20)\
**Post date:** [October 16, 2021, 3:53pm UTC](https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271/1 "2021-10-16T15:53:56Z")

</div>

Hi!

I would like to customize JupyterLab to offer a “Python-IDE like” experience on top of its notebooks. This would allow users to write python code, run and debug it, and show console outputs. For instance, I believe Quantopian research UI was essentially a customized JupyterLab ([here is an example of what it looked like](https://youtu.be/fEfyyUttUwE?t=527))

I am looking for one (or both) of the following two things:

1. Help sourcing info. Could anyone point me to interesting references, with maybe tutorial showing how to achieve this level of customization?
2. A Software Dev interested in working on JupyterLab customization in the context of a Quantopian like project for crypto.

Thank you!

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [October 16, 2021, 7:28pm UTC](https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271/2 "2021-10-16T19:28:08Z")

</div>

JupyterLab already has a visual debugger integrated in recent versions. For coding assistance you may be interested in [GitHub - jupyter-lsp/jupyterlab-lsp: Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol](https://github.com/jupyter-lsp/jupyterlab-lsp). There are other excellent extensions, so I believe that customization is really about picking the extensions and contributing back to improve features as needed.

---

<div class="post-metadata">

**Author:** ![marko20](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@marko20](https://discourse.jupyter.org/u/marko20)\
**Post date:** [October 16, 2021, 9:32pm UTC](https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271/3 "2021-10-16T21:32:12Z")

</div>

@krassowski thank you for the help! I was able to find the debugger you were talking about in the latest lab version. Do you know if there is a way to make it work to run “\*.py” files? Or maybe you would be aware of another extension to do that? Right now I can only debug notebook cells, not python scripts. I can import a script from a notebook and debug, but I would like to be able to run/debug a script from jupyter directly.

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [October 16, 2021, 9:46pm UTC](https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271/4 "2021-10-16T21:46:25Z")

</div>

To debug in Python scripts you need to attach a kernel to the script. You can easily do that from context menu (right click on the editor) choosing “Create Console for Editor” as explained in [this comment](https://github.com/jupyterlab/jupyterlab/issues/9525#issuecomment-754048357):

![debug-files-lab-3](https://user-images.githubusercontent.com/591645/103551988-7c7ef000-4eab-11eb-8d8f-f0aaef0e1091.gif)

I agree that this should probably be better documented.

---

<div class="post-metadata">

**Author:** ![marko20](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@marko20](https://discourse.jupyter.org/u/marko20)\
**Post date:** [October 17, 2021, 8:06pm UTC](https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271/5 "2021-10-17T20:06:59Z")

</div>

@krassowski thanks again, that helps, but doesn’t seem to be available in my install. The toggle for debug doesn’t show up when dealing with a python file for some reason. Is there any documentation I could find about this?  
 ![ezgif.com-gif-maker](https://canada1.discourse-cdn.com/flex031/uploads/jupyter/original/2X/2/255b99a3bde6edf6306dae30021cdcd4f8714f46.gif)

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [October 17, 2021, 8:49pm UTC](https://discourse.jupyter.org/t/jupyterlab-ide-customization/11271/6 "2021-10-17T20:49:42Z")

</div>

I see, it indeed does not seem do work in JupyterLab 3.2. I think there was a regression, possibly related to [Removed debug switch, added bug button state update by 3coins · Pull Request #10727 · jupyterlab/jupyterlab · GitHub](https://github.com/jupyterlab/jupyterlab/pull/10727).
