JavaScript: Deno 1.37 hat als erste Language Runtime integrierten Jupyter-Kernel

Das neue Release präsentiert einen Kernel für Jupyter. Neben dem JavaScript-Support lassen sich dadurch auch npm-Packages in Notebooks importieren.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen

(Bild: Trismegist san/Shutterstock.com)

Lesezeit: 3 Min.

Das Deno-Team hat Version 1.37 der JavaScript- und TypeScript-Runtime veröffentlicht. Das Release führt einen Jupyter-Kernel ein – derzeit noch im instabilen Zustand –, der Jupyter-Notebooks mit JavaScript- und npm-Support ausstattet. Die Arbeit an der Kompatibilität mit der etablierten JavaScript-Runtime Node.js geht in die nächste Runde, während weitere Neuerungen auf die Visual Studio Code Extension, den Language Server und das Testing abzielen.

Die interaktiven Jupyter-Notebooks kommen im Bereich wissenschaftlicher Berechnungen wie Data Science und Machine Learning zum Einsatz. In Deno 1.37 ist erstmals ein integrierter Jupyter-Kernel an Bord. Er versieht Jupyter-Notebooks mit Support für die Programmiersprachen TypeScript und JavaScript, den Package Manager npm sowie das Standard-Packaging-Format ECMAScript Modules. Es handelt sich dabei um die erste Language Runtime mit Jupyter-Kernel. Dieser befindet sich bisher noch im instabilen Zustand und ist durch das --unstable-Flag gekennzeichnet.

Der Kernel setzt die Installation von Jupyter voraus, beispielsweise via pip install jupyterlab (mit Python 3.x unter Umständen pip3), was wiederum die installierte Programmiersprache Python sowie deren Paketmanager pip benötigt. Nach Ausführen des Befehls deno jupyter --unstable ist den Installationsanweisungen zu folgen, woraufhin der Kernel im Dialog zur Notebook-Erstellung in JupyterLab sowie im klassischen Notebook bereitsteht. Er ermöglicht aus dem Notebook heraus den Zugriff auf alle Deno-APIs sowie auf npm-Module. Der Deno-Jupyter-Kernel soll sich in jedem Editor verwenden lassen, der mit Jupyter-Notebooks umgehen kann.

Weitere Informationen zu deno jupyter lassen sich der Deno-Dokumentation sowie einem dedizierten Jupyter-Blogeintrag entnehmen, wo das Jupyter-Team verschiedene Anwendungsfälle demonstriert.

Hinter der Entwicklung von Deno steht Node.js-Erfinder Ryan Dahl, der in der älteren Runtime Designfehler sieht und ihnen mit der Alternative Deno entgegenwirken möchte. Im aktuellen Release hat sich die Kompatibilität von Deno mit Node.js weiter erhöht. Unter anderem kann Deno nun mit repl._builtinLibs umgehen, zlib kann die dictionary-Option verwenden, und vier zusätzliche npm-Module wurden getestet und für funktionsfähig befunden: mssql, mineflayer, infiscal und web-push.

In Deno 1.37 steigt die Version der JavaScript-Engine V8 auf 11.8 an, während die Programmiersprache TypeScript nun in Version 5.2.2 vorliegt. Daneben verwendet die Runtime nun das Lockfile-Format in Version 3 und aktualisiert bestehende Lockfiles automatisch beim ersten Ausführen.

Informationen zu diesen und weiteren Neuerungen – darunter Performance-Updates, das neue Standard-Library-Modul std/url und die Anbindung an VS Code – hat das Deno-Team in einem Blogeintrag zusammengestellt.

(mai)