Py5, PyScript und mehr: Video-Tutorials zum Wochenende

Python
Py5
PyScript
pyp5js
MkDocs
Autor:in

Jörg Kantel

Veröffentlichungsdatum

27. Juli 2024

Im Mai dieses Jahres fand die PyCon US 2024 in Pittsburgh, Pennsylvania statt. Und vor wenigen Tagen wurde die dazugehörende Playlist mit 156 Videos von Vortragsmitschnitten und Tutorials veröffentlicht. Darunter gab es auch einige Perlen, die ich Euch nicht vorenthalten möchte:

Py5

Von James Schmitz, dem Schöpfer von Py5, der (erweiterten) Python3-Implementierung von Processing, gab es einen halbstündigen Vortrag »Creative Coding with Py5, the Python version of Processing«, der nicht nur zeigt, was mit Py5 jetzt schon alles möglich ist, sondern auch, was für die Zukunft noch geplant ist. Die Folien zu dem Vortrag (PDF) findet Ihr hier.

Passend dazu gab es von Alexandre B A Villares ein zweieinhalbstündiges Tutorial »First Steps in Creative Coding. Learning Python while making Drawings and Animations«. Er zeigte darin, wie man mit Py5 und/oder pyp5js kreative Anwendungen erstellt (auch zu diesem Tutorial gibt es die Slides (PDF) online). Alexandre B A Villares nutzte für dieses Tutorial einen eigenen, angepaßten Editor (»Py5 Mode«) von pyp5js, der die Syntax von Py5 (snake_case) statt der Syntax von P5.js (CamelCase) nutzt und eine Konsole für den Python Output anzeigt. Leider habe ich keinen Link zum Quellcode gefunden und auch keinen Hinweis, ob und wie man diesen Editor auf den eigenen Seiten nutzen kann.

pyp5js

Dahingegen findet man zu pyp5js ein wenig mehr (auch in meinem Wiki). Es ist nach eigenen Angaben in P5.js-Port nach Python, der die Übertragung mit Transcrypt und Pyodide vornimmt. Es kommt ebenfalls mit einem eigenen Online-Editor, den man auch lokal selber hosten kann (das Teil steht unter der LGPL-3.0-Lizenz und ist auf GitHub wie auch auf PyPI zu finden).

Py5.js

Py5.js ist ein weiteres Experiment, einer Python-(Browser-)Version von P5.js, die ebenfalls auf Pyodide aufsetzt. Auch dieses Teil, das von der Clinic for Open Source Arts der Universität Denver unterstützt wird, kommt mit einem Online-Editor, den Ihr ebenfalls auch lokal hosten könnt. Allerdings scheint es seit drei Jahren verwaist zu sein, so daß ich momentan von einer Nutzung eher abraten würde.

Außerdem scheint Py5.js nur ein Nebenprodukt des Wick-Editors zu sein (Quellcode auf GitHub), ein zwar ebenfalls interessantes Projekt, das aber auch seit 2020 keine Updates mehr erfahren hat.

PyScript

Aber zurück zur PyCon US 2024. PyScript, das von Anaconda unterstützte »Python im Browser«-Framework, das nicht nur ebenfalls auf Pyodide aufsetzt, sondern eine große Anzahl von Modulen aus dem Python-Ökosystem unterstützt (unter anderem den wissenschaftliche Stack mit Numpy, pandas, Matplotlib und mehr) scheint den Kinderschuhen entwachsen und für »echte Anwendungen« geeignet zu sein.

Davon zeugt zum Beispiel der Vortrag on Jeff Glass »Making Your Documentation Interactive with PyScript«, der nicht nur zeigt, wie man mit PyScript Notebook-ähnliche Webseiten mit interaktivem Quellcode erzeugt, sondern wie man diese auch zusammen mit Frameworks wie Sphinx, MkDocs oder GitHub Pages nutzt. Das ist nicht nur wegen meiner jüngsten Wiederentdeckung von MkDocs für mich hochinteressant, sondern auch, weil James Schmitz im ersten Video oben über einen Port von Py5 nach PyScript spekulierte. Ich glaube, ich sollte mein Programm zu Python und Processing neu überdenken.

Was sonst noch alles mit PyScript möglich ist, zeigt Łukasz Langa in seinem halbstündigen Videovortrag »Build in-browser 3D experiences with WebGL and PyScript«. Er schlägt einen Bogen von Zope zu PyScript, indem er zeigt, wie man mit PyScript WebGL nutzen kann, um die graphischen Fähigkeiten moderner Webbrowser mit Python zu nutzen.

War sonst noch was? Ach ja, hat zwar weder was mit Py5 noch mit PyScript zu tun, aber im weitesten Sinne mit Creative Coding: Von Esther Alter gab es den Talk »Procedurally Generated Monsters! A complete example of Python game development. Die Vortragsfolien (PDF) findet Ihr hier online.


Bild: Die doppelten Python, erstellt mit Scenario. Prompt: »A python with glasses+ and a pointer in front of a chart with diagrams in an office. Shelves with books on the walls. It’s a sunny morning«, Modell: Stable Diffusion XL, Style: Stylized Fantasy + Whimsical Storybook.