Guidance on Building a Custom Flutter UI for JupyterHub and JupyterLab Integration

Hello everyone,

I’ve been using JupyterHub to spawn individual JupyterLab instances for a while now. However, I want to replace the standard JupyterLab UI with a custom-built UI using the Flutter framework (Dart). Here’s my plan:

  1. Use JupyterHub’s REST API to spawn and manage JupyterLab instances.
  2. Build a Flutter web app as the primary UI, which would essentially replicate the core functionality of JupyterLab notebooks (e.g., creating, editing, and running notebooks or code cells).

I came across the Jupyter Client and wondered if it’s the right package for this purpose, or if there are other APIs/packages in the Jupyter ecosystem I should consider to facilitate this integration?

Some key questions I have:

  • What packages or APIs would you recommend to interact with JupyterHub and individual JupyterLab instances effectively? Is there another approach that would be better?
  • Are there any best practices or examples for replacing the JupyterLab UI with a custom frontend?
  • Would it be feasible to have JupyterHub directly spawn the Flutter web app, or is there a better approach to link the two?

Any guidance, examples, or resources would be greatly appreciated. Thank you in advance!