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)
I am looking for one (or both) of the following two things:
- Help sourcing info. Could anyone point me to interesting references, with maybe tutorial showing how to achieve this level of customization?
- A Software Dev interested in working on JupyterLab customization in the context of a Quantopian like project for crypto.
Thank you!
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. There are other excellent extensions, so I believe that customization is really about picking the extensions and contributing back to improve features as needed.
2 Likes
@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.
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:
I agree that this should probably be better documented.
1 Like
@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?
1 Like