Das von Anaconda initiierte Projekt bietet ein HTML-Interface, mit dem man sowohl Python-Code als auch eine interaktive Kommandozeile einbinden kann.

Bei der PyCon 2022 hat Anaconda, das Unternehmen hinter der gleichnamigen Python-Distribution, jetzt PyScript angekündigt. Das Projekt bettet Python in HTML ein und bietet auch wie JavaScript eine direkte Anbindung an das Document Object Model (DOM) der Internetseite.

Der Kurzzusammenfassung im Readme auf GitHub zufolge soll PyScript eine pythonische Alternative zu einfach zu verwendenden Programmiertools und -frameworks wie Scratch oder JSFiddle sein. Es arbeitet mit Standard-HTML und stellt eigene Tags zum Einbetten von Python-Code bereit, den es dann an einen Python-Interpreter übergibt.

Sowohl eingebetteter Code als auch interaktive Befehle

HTML-Seiten müssen vor dem Verwenden von PyScript-Tags die folgenden zwei Zeilen enthalten:

<link rel=”stylesheet”   href=”https://pyscript.net/alpha/pyscript.css” /><script defer src=”https://pyscript.net/alpha/pyscript.js”></script>

Der eigentliche Python-Code lässt sich dann über das Tag <py-script> einbinden, wie im nachstehenden Beispiel aus dem Examples-Ordner auf GitHub:

<body>  Hello world! <br>  This is the current date and time, as computed by Python:  <py-script>    from datetime import datetime    now = datetime.now()    now.strftime(“%m/%d/%Y, %H:%M:%S”)  </py-script></body>

Genau wie bei JavaScript ist es außerdem möglich, Code in externen Python-Dateien mit den Tags einzubinden:

<py-script src=”/mein_code.py”></py-script>

Zusätzlich können HTML-Seiten auch eine REPL (Read Eval Print Loop) enthalten, auf die Anwender im Browser interaktiv Python-Code ausführen können:

<py-repl id=”my-repl”  auto-generate=”true”> </py-repl>

Noch ist es eher ein Proof of Work

Noch hat PyScript eher etwas von einer Betaversion oder gar nur von einem Proof of Work, denn es steckt noch in einer recht frühen Phase.

Das macht auch der Blogbeitrag klar, der parallel zu der Vorstellung auf der PyCon 2022 erschienen ist: Er spricht von einer Demonstration dafür, dass die Technik reif genug ist, um eine größere Vision des Projekts umzusetzen.

Das Framework soll aber auch langfristig sehr einfach nutzbar bleiben – der Blogbeitrag spricht dabei von “dem Minecraft für Softwareentwicklung“.

Weitere Details sowie einige Programmierbeispiele finden sich im GitHub-Repository. Die zum Schreiben von HTML-Seiten mit eingebettetem Code nötigen Dateien lassen sich von der Projektseite herunterladen, wo man auch eine Installationsanleitung findet.