Presentato da Anaconda nel corso dell'evento PyCon US di quest'anno, PyScript è una soluzione in-browser per eseguire script Python all'interno di pagine HTML.
Cos'è PyScript
Il progetto nasce come alternativa a framework come Scratch e JSFiddle permettendo di operare con Python nell'ambito dello sviluppo per Internet in un modo molto simile a quanto accade con JavaScript.
Una delle caratteristiche più interessanti di PyScript risiede nella totale assenza di componenti server, questo perché tutto funziona lato client, a livello del browser.
Non è quindi necessaria un'applicazione server side deputata a restituire codice HTML o JavaScript per consentire l'interazione con Python.
Come funziona PyScript
A livello tecnico l'importazione di PyScript avviene semplicemente tramite l'inclusione di alcuni file nel codice delle pagine HTML:
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
Fatto questo i componenti di PyScript diventano disponibili per il documento corrente.
Per il momento PyScript è ancora un progetto embrionale e le componenti in fase di implementazione sono sostanzialmente tre: <py-script>
, <py-repl>
e <py-env>
.
<py-script>
può essere utilizzata per la definizione del codice che deve essere eseguito nel contesto di una pagina Web, gli output possono essere collocati all'interno di comuni <div>
.
<py-repl>
è utile invece per l'inserimento di blocchi REPL (READ - EVAL - PRINT - LOOP) che consentano all'utilizzatore di inviare input ed eseguire codice.
<py-env>
, infine, ha una funzione molto simile a quella del file requirements.txt
all'interno di un repository per fornire l'elenco dei package necessari.
È disponibile il supporto per diversi package per Python come per esempio NumPy, la Data Analysis Library Pandas e Scikit-learn per il Machine Learning.
Alcune criticità
Come sottolineato dai suoi sviluppatori, PyScript presenta ancora alcune limitazioni, la prima delle quali legata al tempo e alla larghezza di banda necessari per il download e la configurazione delle componenti che permettono il funzionamento di un pagina che lo include.
Tale problematica si verifica comunque soltanto dopo il primo caricamento, successivamente i componenti vengono archiviati in cache consentendo di risparmiare tempo e risorse.
In secondo luogo PyScript non supporta ancora il building automatico, quindi per il momento si potranno utilizzare soltanto librerie di terze parti scritte in puro Python.
Se non conoscete Python e siete in cerca di un corso per impararlo velocemente consigliamo l'offerta presente su Udemy: "Python 3.10 Guida Completa: da Principiante a Esperto" venduto, ancora per poche ore, a soli 12,99€.