GitHub: Literate-Programmierumgebung nbdev veröffentlicht

nbdev bringt einige Features mit, die Entwickler bei der Erstellung von Python-Software unterstützen sollen.

In Pocket speichern vorlesen Druckansicht

(Bild: donatas1205 / Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Madeleine Domogalla

Der Code-Hoster GitHub hat zusammen mit den Entwicklern der Deep-Learning-Bibliothek fastai eine Programmierumgebung für Python veröffentlicht: nbdev. Das Tool orientiert sich an dem Konzept des Literate Programming Environment, das der Informatiker Donald Knuth 1983 vorgestellt hat. Sie dient der Erstellung von Software und Werkzeugen in Python.

Das Konzept der Literate-Programmierumgebung erlaubt es Entwicklern, in der Reihenfolge zu arbeiten, die sich aus der Logik und dem Fluss ihrer Gedanken ergibt, und nicht in einer vom Computer vorgegebenen Reihenfolge. Ziel ist es, den Code, die Tests und die Dokumentation an einem Ort verfügbar zu machen.

nbdev basiert auf Jupyter Notebooks, einem Data-Science-Werkzeug, das es Nutzern ermöglicht, Dokumente zu erstellen und freizugeben, die Code, Visualisierungen und Text enthalten. Der Name Jupyter ist eine Referenz auf die unterstützten Sprachen Julia, Python und R. Grundsätzlich ist das Open-Source-Projekt sprachunabhängig, auch wenn seine Wurzeln in einer Ausgliederung aus dem Kommandozeileninterpreter IPython liegen, der ebenso wie Jupyter von Fernando Pérez entwickelt wurde.

Mit der Bibliothek nbdev lassen sich automatisch Dokumente aus Jupyter Notebooks generieren. Diese Docs sind durchsuchbar und verfügen über Hyperlinks, die mit der entsprechenden Dokumentationsseite verknüpft sind. Mit dabei sind zudem Dienstprogramme, die Entwickler bei der automatischen Veröffentlichung von PyPI- und conda-Paketen unterstützen und die Versionsnummernverwaltung übernehmen sollen. nbdev setzt sich aus einem Webserver zur Vorschau einer Doku-Site zusammen, einem Jupyter-Server zum Schreiben von Code und einer Reihe von CLI-Tools, die mit GitHub-Codespaces arbeiten.

Darüber hinaus erlaubt nbdev die bidirektionale Synchronisation zwischen den Notebooks und Quellcode, die es Entwicklern ermöglicht, die eigene IDE für die Code-Navigation oder eine schnelle Bearbeitung des Codes zu verwenden. Mit dem Werkzeug lassen sich Tests direkt in Jupyter Notebooks schreiben.

nbdev lässt sich über die Befehle pip install nbdev oder conda install -c fastai nbdev über den Python Package Index (PyPI) und das Paketmanager- und Umgebungsmanagementsystem conda installieren. Es gilt zu beachten, dass nbdev in derselben Python-Umgebung installiert sein muss, die für den Jupyter Server und den Workspace verwendet wird. Weitere Informationen zu nbdev finden sich auf GitHub.

(mdo)