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.
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.
JavaScript trifft Data Science
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.
Updates für V8, TypeScript und Node.js-Kompatibilität
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)