PyScript

Ein Framework zum Ausführen von Python-Skripten im Webbrowser.
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. Januar 2023 um 23:08 Uhr durch Valanagut (Diskussion | Beiträge) (Hallo-Welt-Programm). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Dieser Artikel wurde zur Löschung vorgeschlagen.

Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht.

Zur Löschdiskussion.
Begründung: Es scheint unklar, was der Artikelgegenstand ist und ob dieser relevant ist. Die Ursprungsversion des Artikel spricht von einer auf Pyhton basierenden Programmiersprache für die Automatisierung von Aufgaben in der IT-Branche. Auf der Website und auf GitHub dagegen steht: PyScript is a framework that allows users to create rich Python applications in the browser using HTML's interface and the power of Pyodide, WASM, and modern web technologies. --Trustable (Diskussion) 17:34, 16. Jan. 2023 (CET)

PyScript ist ein Framework zum Ausführen von Python-Skripten im Webbrowser.[1][2] Pyscript wurde im Juni 2022 von Peter Wang auf einer Python Deeveloper Konferenz der Öfffentlichkeit vorgestellt.[3] Pyscript wird primär von der Anaconda, Inc entwickelt.

QS-Informatik
Beteilige dich an der Diskussion!
Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+)

Anwendung

Mit Pyscript können Python Scripte, welche normalerweise auf dem Server laufen, auch in einem Webbrowser ausgeführt werden. Dadurch kann dieselbe Programmiersprache auf dem Server und im Frontend verwendet werden. Bei Pyscript handelt es sich um eine Typescript Bibliothek, welche die Webseite lädt und welche in Tags eingebundene Python Scripts interpretiert und ausführt. Außer dem Javascript bestehen keine weiteren Abhängigkeiten. Normallerweise wird die Programmiersprache Javascript eingesetzt um Funktionen einer Webseite zur Verfügung zu stllen. Pyscript kann Javascript ersetzen, kann aber auch mit Javascript koexistieren. So kann Javascript Pyscript Funktionen aufrufen und umgekehrt. Der Vorteil von Pyscript besteht darin, dass es sehr viele Bibliotheken in der Sprache Python gibt, welche man auch auf Webseiten nutzen könnte. Diese müssen auf dem Server installiert sein.[4] Als Beispiel kann man Graphikbibliotheken nennen um Bilder zu manipulieren. Die Bilddaten müssen nicht zuerst an den Server zu Verarbeitung an den Server geschickt werden. Die Programmiersprache Python wurde primär auf dem Backend (Serverseitig) eingesetzt. Unterstützung für reine Frontendentwicklung war kaum vorhanden. Pyscript soll diese Lücke schließen helfen.[5][6]

Damit Python Scripte auf einem Browser ausgeführt werden können benötigt man eine Python Laufzeitumgebung. Es gibt mehrere Python Laufzeitumgebungen welche normallerweise in der C Sprache geschrieben worden sind. Pyscript kann theoretisch mit verschiedenen Laufzeitumgebungen zusammenarbeiten. Standartmäßig wird ein C Port der Python Laufzeitumgebung nach WebAssembly mit Namen Pyodide verwendet. Viele der bekannten Python Packages wurden auch nach Webassembly portiert und können damit von Pyscript verwendet werden. Pyodide wurde 2018 von Michael Droettboom bei der Mozilla Foundation entwickelt.[7] Um Pyodide und damit Pyscript in einem Browser verwenden zu können benötigt man Firefox mit einer Version 70.0 oder einen Google Chrome mit Version 71.0 oder höher.[8]

Hallo-Welt-Programm

Eine von mehreren möglichen Versionen des Hallo-Welt-Programms in Pyscript. Standardmässig erfolgt die Ausgabe in einem DIV Element welches mit einem py-terminal Tag deklariert wird. Befindet sich im HTML kein solches Element so wird dies standardmässig beim ersten Aufruf einer Ausgabe an die Webseite hinzugefügt.

<html>
  <head>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>
  <body>
    <py-script>
        print('Hello, World!')
    </py-script>
  </body>
</html>

Möchte man die Ausgabe an einer bestimmten Stelle auf der Webseite ausgeben, bietet sich folgendes Beispiel an.

Hallo-Welt Beispiel integriert in Webseite

<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <title>An eine bestimmte Stelle einer Seite schreiben</title>
  <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
  <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>
  <body>
    <!-- Ein Div zur Aufnahme des Contents -->
    <div id="manual-write"></div>
    <!-- Ein Button der geklickt werden kann -->
    <button py-click="write_to_page()" id="manual">Say Hello</button>
    <py-script>
    def write_to_page():
      manual_div = Element("manual-write")
      manual_div.element.innerHTML = "<p><b>Hello World</b></p>"
    </py-script>
  </body>
</html>

Einzelnachweise

  1. javatpoint.com: Run Python Script in the Web Browser
  2. infoworld.com Intro to PyScript: Run Python in your web browser
  3. Bartosz Zaczyński: realpython.com, 6. Juni 2022 A First Look at PyScript: Python in the Web Browser
  4. educative: How to import external libraries and Python script in pyscript
  5. freecodecamp.org How to Use PyScript – A Python Frontend Framework
  6. How to Create an Interactive Web App With PyScript and Pandas
  7. https://pyodide.org/en/stable/project/about.html pyodode.org: What is Pyodide?
  8. Supported browsers