blog

Erster Release unserer neuen Bibliothek "Bandsaw"

Endlich ist die erste Version eines unserer Produkte aus der T├╝r. Gestern haben wir erfolgreich die Version 0.1 unserer neuen Bibliothek “Bandsaw” gebaut und anschlie├čend ver├Âffentlicht.

Bandsaw wird die Grundlage unserer Produkte bilden. Dabei handelt es sich um eine Python-Bibliothek, die es erm├Âglicht, einen Workflow in Form eines Python-Skripts in einzelne “Tasks” aufzusplitten, die dann separat und auf unterschiedlichen Plattformen ausgef├╝hrt werden. Die Idee dahinter ist, dass durch das Aufsplitten es m├Âglich wird, die einzelnen Schritte individuell und unabh├Ąngig voneinander optimieren zu k├Ânnen.

Nat├╝rlich ist unsere erste Version noch nicht mit allen Featuren ausgestattet, die wir bieten m├Âchten, aber es sollte ausreichen, um eine Vorstellung davon zu geben, in welche Richtung wir uns aufmachen. Mit der Version 0.1 unterst├╝tzt die Bibliothek derzeit nur Workflows, die auf einer einzelnen Maschine ablaufen. Hier eine kleine ├ťbersicht ├╝ber die derzeitigen Features:

  • Aufsplitten von Workflows in einzelne “Tasks”
  • Zus├Ątzliches Logging beim Ausf├╝hren eines Task
  • Cachen von Ergebnissen von Tasks im Dateisystem zum Beschleunigen wiederholter Ausf├╝hrungen
  • Ausf├╝hren von Tasks in Unterprozessen
  • Verwenden von unterschiedlichen Python-Interpretern pro Task um unterschiedliche Frameworks mit sich widersprechenden Abh├Ąngigkeiten zu kombinieren

Das Python-Package mit der Bibliothekt wurde bei PyPI ver├Âffentlicht und kann daher durch einfaches aufrufen von pip install bandsaw installiert werden. Zus├Ątzlich stellen wir englischsprachige Dokumentation bereit, inklusive einem detaillierten Benutzerleitfaden, der die Funktionsweise von Bandsaw und den inneren Aufbau beschreibt. F├╝r alle Interessenten an der tats├Ąchlichen Implementierung kann der Programmcode aus unserem GitLab repository abgerufen werden, viel Spa├č. Der Quellcode ist lizenziert unter der Open Source MIT-Lizenz.

So, was kommt danach f├╝r Bandsaw? Wir haben noch einiges an Arbeit vor uns bis wir eine Version 1.0 mit allen gew├╝nschten Funktionalit├Ąten ver├Âffentlichen k├Ânnen, aber wir denken, dass es nicht zu lange dauern wird, jetzt, da alle grundlegenden Funktionen existieren. Unsere Planungen f├╝r die n├Ąchsten Versionen sind folgende:

  • 0.2: Unterst├╝tzung f├╝r das Ausf├╝hren von Tasks auf verteilten Systemen ├╝ber SSH.
  • 0.3: Erfassen von Metriken zum Verbrauch von Rechenkapazit├Ąt.
  • 0.5: Tasks asynchron Ausf├╝hren durch die Nutzung eines Schedulers.

So viel dazu und zu unseren Pl├Ąnen. Viel Spa├č beim Reinschauen und keine Scheu bei Fragen, Ideen oder anderem Feedback sich bei uns zu melden. Wir freuen uns auf eure R├╝ckmeldung.

Bis denne,

Christoph

Referenzen

2021-10-29