Que fait wasm-compatibilité ?
Vérifie si un notebook marimo est compatible avec WebAssembly (WASM) et signale les problèmes éventuels.
Utilisation
Exécutez la commande suivante pour analyser votre notebook :
marimo wasm-check mon_notebook.py
Remplacez mon_notebook.py par le chemin de votre notebook marimo.
Problèmes détectés
- Utilisation de bibliothèques Python qui nécessitent des extensions natives (ex. :
numpy,pandasne sont pas supportés directement en WASM sans build spécifique). - Appels à des fonctions système (
os.system,subprocess). - Accès au système de fichiers local (lecture/écriture en dehors des répertoires autorisés).
- Utilisation de threads ou de processus multiples.
- Dépendances non supportées dans l’environnement WASM.
Sortie
Le rapport liste chaque problème avec le numéro de cellule, la ligne concernée, et une description de l’incompatibilité. Des suggestions de correction peuvent être proposées.
Compatibilité
- Fonctionne avec
marimoversion 0.8.0 et ultérieures. - Supporte les notebooks au format
.py(marimo) et.ipynb.
Exemple
$ marimo wasm-check notebook.py
[WARNING] Cellule 3, ligne 12 : `os.system()` non supporté en WASM. Remplacez par `subprocess.run()` avec des options compatibles.
[ERROR] Cellule 5, ligne 8 : `numpy` nécessite une version compilée pour WASM. Utilisez `numpy-wasm` ou une alternative.
Références
- Documentation marimo WASM : https://docs.marimo.io/wasm
- Problèmes connus : https://github.com/marimo-team/marimo/issues