Codice Python
Python si esegue tramite Pyodide — CPython compilato in WebAssembly — in un thread di esecuzione separato. Non è richiesto nessun Python sulla macchina.
| Simbolo | Ruolo |
|---|---|
input | Il valore ricevuto sulla porta di input |
vars | Un dizionario delle variabili di run |
print(...) | Scrive nel log dell’esecuzione |
| L’ultima espressione | Il suo valore parte sulla porta result |
Esempio
Section titled “Esempio”commandes = input["commandes"]
payees = [c for c in commandes if c["statut"] == "payee"]total = sum(c["montant"] for c in payees)
print(f"{len(payees)} commandes payées, total {total} €")
{"nombre": len(payees), "total": total}Libreria standard
Section titled “Libreria standard”La libreria standard di CPython è disponibile: json, re, datetime,
hashlib, base64, itertools, collections…
import hashlib, hmac
signature = hmac.new( vars["secret"].encode(), input["corps"].encode(), hashlib.sha256,).hexdigest()
{"signature": signature}Pacchetti esterni
Section titled “Pacchetti esterni”Vanno dichiarati nel campo packages del riquadro. Vengono scaricati da
PyPI alla prima esecuzione, messi in cache e poi caricati offline.
Arresto e timeout
Section titled “Arresto e timeout”Un superamento del timeout o un arresto dell’esecuzione interrompe l’esecuzione
con un KeyboardInterrupt, poi termina il thread se necessario.