Veröffentlicht am

Kollaboratives Coding und Data Science mit Renkulab

Renku wurde vom Swiss Data Science Center als Web-Plattform (Renkulab) und Terminal (Renku Client) entwickelt, um zu ermöglichen, kollaborativ Daten zu generieren, bearbeiten, speichern und zu teilen. Zudem können Code, ganze Workflows und virtuelle Maschinen verwaltet werden.

In Renkulab werden direkt im Browser Juypter Lab oder RStudio Sessions gestartet, die aus Docker Containern laufen. Notwendige Packages und Libraries werden ganz einfach über ein Requirements-File installiert. Um die Daten nachvollziehbar und sicher zu speichern, werden diese über ein integriertes GitLab verwaltet. Im Renku CLI, dem eigenen Terminal, können aber auch verschiedene renku commands verwendet werden, um Daten zu speichern, auf Gitlab zu pushen, und vieles mehr.

Für einen einfachen Anwendungsfall kann Renkulab auch von Anfänger*innen verwendet werden, die sich v.a. die mühsame Installation mehrerer Programmiersprachen und Tools ersparen möchten. Erfahrenere Anwender*innen wählen zwischen verschiedenen Programmiersprachen, arbeiten direkt mit git commands, schreiben eigene Skripts oder stellen sie in sogenannten renku-Workflows zusammen .

Ein grosser Vorteil von Renkulab ist ausserdem der Knowledge Graph. Was ist das und wozu dient er? Angenommen, die verwendeten Daten stammen von einer Online-Quelle, wurden in mehreren Schritten durch verschiedene Skripts bearbeitet und generieren nun den gewünschten Output. Wie oft kommt es vor, dass man nicht mehr reproduzieren kann, wie dieser Output genau entstanden ist, weil man verschiedene Ansätze ausprobiert hat? Der Knowledge Graph löst nun genau dieses Problem, indem er in einem Diagramm jeden Verarbeitungsschritt visualisiert und den Output dadurch nachvollziehbar und reproduzierbar macht.

Gerade für Einführungen in die Programmierung, Gruppenarbeiten in einem Seminar oder auch den Austausch für eine Forschungsgruppe ist Renku sehr gut geeignet.

Ein Tutorial führt Klick für Klick durch die Möglichkeiten von Renku – es lohnt sich, das auszuprobieren!

Für jede Session wird die Rechenpower und die Umgebung gewählt.
Jupyter Lab läuft innerhalb eines Gitlab Accounts.
Ein Jupyter Notebook ermöglicht es, schön lesbare Tutorials oder Aufgaben mit Python zu erstellen.
Auch eigene Python Skripts können natürlich verwendet werden.
Der Knowledge Graph visualisiert nicht nur die Datenherkunft, sondern auch die einzelnen Verarbeitungsschritte.