SwissDataScienceCenter / renku

Renku provides a platform and tools for reproducible and collaborative data analysis.
https://renkulab.io
Apache License 2.0
225 stars 34 forks source link

Apps in the KG #1942

Open ciyer opened 3 years ago

ciyer commented 3 years ago

Story

As a user of Renku, I would like to register any apps that are available as part of a project, so that they can be easily found and launched.

Description

Technically, an app is just an endpoint that can be accessed in a session. Conceptually, an app is different from an IDE endpoint (JupyterLab, RStudio) in that the audience for an app expects a point/click UI for viewing data, not an environment to write code. Apps would typically be implemented using a framework like Shiny or Streamlit.

Design

The following information describes an app and needs to be stored in the project metadata and the KG.

required

optional

Implementation

rokroskar commented 3 years ago

Would it make sense to support "standard" apps via the renku configuration? I could imagine something like this in renku.ini

["interactive.apps.streamlit"]
name="My streamlit dashboard"
key=value

A few things would happen if this is defined - the UI would pick it up and show the proper options for handling this. Once the session would launch, the entrypoint of the container (or an init container) would handle the set up of the app itself, to ensure the proper jupyter server extension configuration. We could do the same for e.g. shiny and voila and potentially others.

ciyer commented 3 years ago

Where exactly it gets stored does matter so much from my perspective. If the renku.ini is a convenient place, then why not. What's important for me is that:

  1. The existence of the app be registered in the KG
  2. The session resource options be separate from the ones for IDE-like environments
  3. There be a path to allowing apps to run continuously, not just as sessions that a user needs to start (and stop).
rokroskar commented 3 years ago

What's the advantage of having this information in the KG?

ciyer commented 3 years ago
  1. We want to increase the visibility of projects that have apps since it shows a certain engagement by the users.
  2. We will want to indicate the presence of an app when we show search results
  3. The provenance of the data used in the app could be interesting
  4. Maybe users will want to search for projects that have apps