Dopo aver parlato di Emscripten e WebAssembly (codice C/C++ in una pagina web), vediamo Pytscript (sito ufficiale pyscript.net), progetto dallo slogan <<Run Python in Your HTML>>.
È un progetto ancora in fase di sviluppo, che consente di scrivere codice Python all'interno di una pagina web.
Pyscript: come funziona, gli step da seguire
- installazione della libreria (es. tramite pip):
pip install pyscript
, oppure da GitHub
- procuriamoci questi due file (possiamo anche caricarli ogni volta dal sito ufficiale oppure scaricarli in locale, in questo caso analogamente al caso del web 3D, occhio alle politiche CORS):
https://pyscript.net/alpha/pyscript.css
https://pyscript.net/alpha/pyscript.js
- possiamo finalmente... Integrare il codice Python in un file HTML!
Vediamo come compare la struttura di una pagina (ho scelto come esempio semplice il codice Python della discussione: Sfruttare l'idrodinamica per irrigare gratis):
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css">
<script src="https://pyscript.net/alpha/pyscript.js" async></script>
</head>
<body>
<h1 style="color:#00f">Esempio idrodinamica: Domandina</h2>
<py-script>
Q=100
iff=0.001
ks=40
b=20
yc=(Q**2/9.8/b**2)
yu=(Q/(ks*b*iff**0.5))**(3/5)
print("yc=",round(yc,2))
print("yu=",round(yu,2))
</py-script>
</body>
</html>
L'esempio è ovviamente semplice, vediamo i tag <py-script>
e </py-script>
all'interno di cui inseriamo il codice Python.
Nel caso volessimo includere una libreria, ad esempio NumPy, occorre fare uso di <py-env>
(environment), quindi (all'interno dell' <head>):
<py-env>
- numpy
</py-env>
Essendo ancora in fase di progetto, la compatibilità delle varie funzionalità non è sempre al 100%. È comunque un modo molto interessante poter sfruttare il linguaggio Python anche per il web.
Conoscete Pyscript? Cosa ne pensate? 🙂