Python in HTML

  Ralf Hersel   Lesezeit: 3 Minuten  🗪 4 Kommentare

Python-Code in HTML einbetten mit dem PyScript-Framework,

python in html

Was PHP und JavaScript schon immer können, ist jetzt auch mit Python möglich, nämlich die Einbettung von Python-Code in HTML. Voraussetzung dafür ist das Framework PyScript. Damit können Benutzer umfangreiche Python-Anwendungen im Browser unter Verwendung der HTML-Schnittstelle erstellen. PyScript zielt darauf ab, den Nutzern eine erstklassige Programmiersprache zur Verfügung zu stellen, die konsistente Styling-Regeln hat, ausdrucksstärker ist und leichter zu erlernen ist.

Was ist PyScript? Hier sind einige der Kernkomponenten:

  • Python im Browser: Ermöglicht Drop-in-Inhalte, externes Datei-Hosting (ermöglicht durch das Pyodide-Projekt) und Anwendungs-Hosting ohne Abhängigkeit von der serverseitigen Konfiguration
  • Python-Ökosystem: Ausführen beliebter Python- und Wissenschaftspakete (z. B. numpy, pandas, scikit-learn und andere)
  • Python mit JavaScript: Bidirektionale Kommunikation zwischen Python- und Javascript-Objekten und Namespaces
  • Umgebungsverwaltung: Benutzer können festlegen, welche Pakete und Dateien enthalten sein sollen, damit der Seitencode ausgeführt werden kann
  • Visuelle Anwendungsentwicklung: Verwendung von leicht verfügbaren, kuratierten UI-Komponenten wie Schaltflächen, Containern, Textfeldern und mehr
  • Flexibler Rahmen: Ein flexibles Framework, das genutzt werden kann, um neue und erweiterbare Komponenten direkt in Python zu erstellen und gemeinsam zu nutzen

PyScript ist also nichts anderes als HTML, nur ein bisschen leistungsfähiger, dank des reichhaltigen und zugänglichen Ökosystems der Python-Bibliotheken.

Entweder man stellt PyScript auf dem eigenen Webserver bereit oder verlinkt das Framework direkt in der HTML-Seite. Hier ist ein Beispiel, welches sofort ohne einen Download oder eine Installation lauffähig ist. Der Python-Code wird innerhalb es Tags <py-script> geschrieben:

<html>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<body>
    <py-script> print('Now you can!') </py-script>|
</body>
</html>

Als Ergebnis erhält man die Ausgabe von "Now you can!" im Webbrowser.

Quelle: https://pyscript.net/

Tags

Browser, Python, Script, HTML, PyScript, Python-Code, HTML-Schnittstelle, Framework, Leistungsfähiger

Michelle
Geschrieben von Michelle am 5. Mai 2022 um 13:30

Ziemlich cool! Grund genug mich endlich mit Python zu befasssen :+)

Hendrik
Geschrieben von Hendrik am 5. Mai 2022 um 19:42

Da bekomme ich einerseits richtig Bock drauf, andererseits auch direkt Bauchschmerzen, da das vermutlich auch erstmal noch richtig fiese Sicherheitslücken mit sich bringen wird. Zwickmühle :-)

kamome
Geschrieben von kamome am 5. Mai 2022 um 21:01

Aber das geht ja einen sehr anderen Weg als PHP – Client-side, ohne JS geht nix, oder? Wäre schade/schrecklich, wenn der Inhalt von noch mehr Websites von JS abhängig werden sollte! (vor allem Sicherheit, aber auch UX auf leichtgewichtigeren Rechnern)

Yannick
Geschrieben von Yannick am 5. Mai 2022 um 21:52

Dieser Artikel versteht PyScript miss. Mit PyScript (genauer: Pyodide) wird Python wie JavaScript im Browser (im Client) aufgeführt, während PHP auf einem Server ausgeführt wird. Eine Möglichkeit, PHP browserseitig auszuführen, existiert meines Wissens nach nicht, was aber mithilfe von Webassemly zukünftig möglich sein könnte. Diesen Unterschied zu verstehen ist wichtig, um zu verstehen, warum das etwas neuartiges ist. Python konnte wie PHP bisher nur serverseitig eingesetzt werden. Für Dynamik im Client war bisher nur JavaScript verfügbar. Mit PyScript gesellt sich nun auch Python dazu.