À propos du projet

Edge Python est un runtime sandboxé pour un sous-ensemble de Python, combinant un compilateur SSA à passage unique avec une machine virtuelle à pile à code threadé. L'implémentation inclut des valeurs NaN-boxées, du cache en ligne, la fusion de super-instructions, la mémoïsation de fonctions pures, un ramasse-miettes mark-sweep, des instantanés complets de l'interpréteur, et du fuzzing guidé par couverture. Le langage prend en charge les classes, async/await, le filtrage par motifs, et les imports résolus au moment de la compilation. Les programmes fonctionnent dans un sandbox par défaut et ne peuvent accéder aux fichiers, au réseau ou à l'environnement que s'ils sont explicitement déclarés via une configuration de module `edge.json`. Les cibles de déploiement incluent : - Exécution dans le navigateur en tant que module WebAssembly via l'élément personnalisé `<edge-python>` - Exécution en CLI via le binaire `edge` installé sur macOS, Linux ou WSL - Binaires compilés autonomes produits par `edge build` - Un pool d'acteurs coopératifs géré par `edge actor` Le dépôt est organisé en plusieurs composants : la crate racine contient le moteur, le lexer, le parser, la VM et les exports WebAssembly ; le répertoire `cli/` fournit le binaire `edge` qui exécute `compiler.wasm` sous wasmtime avec StarlingMonkey pour les modules JavaScript ; `std/` contient les paquets standard ; `pdk/` et `abi/` fournissent le kit pour écrire des plugins `.wasm` ; `lang/` démontre la construction de langages de script personnalisés sur le moteur ; et `fuzz/` contient le fuzzer. La documentation, les guides de démarrage rapide, la référence CLI, les listes de modules, les modèles d'acteurs et les instructions d'intégration sont disponibles sur edgepython.com/docs.