Python in HTML
Do, 5. Mai 2022, Ralf Hersel
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/