ioProc
Kontakt
Dr. Benjamin Fuchs
Deutsches Zentrum für Luft- und Raumfahrt (DLR),
Institut für Vernetzte Energiesysteme,
Stuttgart, Germany
Homepage: https://pypi.org/project/ioproc/
Software
ioProc ist ein Workflow Tool und in Python implementiert (unter MIT Lizenz). Es richtet sich primär an Wissenschaftler:innen und unterstützt diese bei der Ausführung von Arbeitsroutinen (z. B. Modellkopplung, Datenanalyse, etc.). ioProc ergänzt Ansätze wie Jupyter Notebooks, welche sich auf iteratives Prototyping und dynamische Datenanalyse konzentrieren, durch einen Fokus auf Wiederverwendbarkeit, Portabilität, Transparenz und Reproduzierbarkeit. Analog zu den Zellen der Jupyter Notebooks nutzt ioProc Actions, welche durch kurze Python Funktionen dargestellt werden. Diese dienen als elementare Bausteine um reproduzierbare, automatisierte Workflows zu ermöglichen. ioProc ist auch einfach erweiterbar, da Nutzer eigene maßgeschneiderte Actions einfach integrieren können. Durch Metaprogrammierung wird zudem sichergestellt, dass Lock-In Effekte vermieden werden, und Actions auch außerhalb von ioProc einsetzbar bleiben.
Workflows werden durch in yaml geschriebene Spezifikationen definiert und konfiguriert. Nutzer können bereitgestellte Workflows Parametrisieren, ohne Vorwissen in Python oder anderen Programmiersprachen zu besitzen.
Die Workflow-Spezifikation dient außerdem der automatischen Dokumentation und Erfassung von Metadaten. Ergänzt wird das durch die Schnittstelle ioProvenance, welche das Schreiben von Metadaten gemäß der FAIR Standards unterstützt.
ioProc bietet Wissenschaftler:innen so ein einfaches Tool um ihre Workflows reproduzierbar und automatisiert auszuführen, erhöht durch seine Struktur und klaren Interfaces die Wartbarkeit, stellt durch ein Plugin System einfache Erweiterbarkeit sicher und minimiert seinen Fußabdruck im source code um Portierbarkeit zu ermöglichen.
Anmerkung der Redaktion
ioProc wurde mit dem 3. Preis beim campusSOURCE Award 2022 ausgezeichnet. Den Teilnahmebeitrag und den Vortrag im Rahmen der Preisverleihung finden Sie auf der Preisträgerseite.