IPython-4-Release schließt Projektmodularisierung ab

Nachdem das Programmierwerkzeug über die Jahre deutlich an Umfang zugelegt hatte, läutet die aktuelle Hauptversion die modularisierte Zukunft ein. Der sprachunabhängige Code ist nun in einem eigenen Projekt zu finden.

In Pocket speichern vorlesen Druckansicht
IPython-4-Release schließt Projektmodularisierung ab
Lesezeit: 1 Min.
Von
  • Julia Schmidt

Die Entwickler des IPython-Projekts haben ihre im April angekündigten Arbeiten zur Aufsplittung der Software in einen sprachunabhängigen und einen Python-spezifischen Teil abgeschlossen und das Ergebnis als IPython 4.0 veröffentlicht. Sprachunabhängiger Code ist fortan in einer Jupyter genannten Komponente zu finden, die wiederum eigenständige Pakete umfasst – wie nbformat, welches das Notebook-Format oder notebook, dass die entsprechende HTML-Anwendung enthält.

Alle Pakete sollen sich zukünftig auch einzeln aktualisieren lassen, wobei sich mit der Zeit wahrscheinlich eigene Release Schedules entwickeln werden. Auf diese Weise soll jede Komponente in einem eigenen Tempo wachsen können.

Um sicherzustellen, das bestehender Code weiterhin nutzbar bleibt, haben die Entwickler das IPython-Repository entsprechend umgerüstet. Nutzer werden also darüber informiert, dass von ihnen importierte Pakete sich nicht mehr am von ihnen angegebenen Ort befinden, der Code soll dank einiger ergänzter interner Mechanismen aber weiterhin funktionieren.

Die Umstrukturierung des Projekts war nötig geworden, da sich über die Jahre viele verschiedene Werkzeuge innerhalb von IPython entwickelt haben, die zum Teil nicht mehr speziell auf Python abzielen und unterschiedliche Entwicklungsgeschwindigkeiten an den Tag legen. Gleichzeitig sind die nötigen Schnittstellen wohl stabil genug, dass die Entwickler die Trennung in IPython und Jupyter und die weitere Aufteilung in Unterpakete wagen wollten. IPython war ursprünglich als Kommandozeileninterpreter für die Programmiersprache Python entstanden, dessen Fokus auf der Möglichkeit des interaktiven Arbeitens lag. (jul)