- Interpréteur open source de Python 3 (CPython >= 3.11.0) écrit en Rust
- Peut être embarqué dans des programmes Rust, ou compilé en WebAssembly pour exécuter Python dans le navigateur web
- Licence MIT
Objectifs
- Implémenter un environnement Python 3 complet en utilisant uniquement Rust (sans bindings CPython).
- Viser une implémentation Python rapide, fiable et sûre, utilisable depuis Rust ou compilable en WebAssembly
Atouts de RustPython
- Il existe diverses implémentations de Python, mais RustPython est pensée pour le langage de programmation Rust
- De la même manière que Jython et IronPython ont permis l’intégration avec Java et .NET respectivement, RustPython vise l’intégration avec Rust
- Grâce au runtime minimal de Rust, il peut être compilé en WebAssembly pour exécuter facilement du code Python dans le navigateur
Installation
Avis de GN⁺
- RustPython est un projet qui réimplémente l’interpréteur Python en tirant parti de la sûreté et des performances de Rust.
- Contrairement aux implémentations Python existantes, il est écrit sur une base Rust, ce qui renforce l’intégration entre Rust et Python et permet l’exécution de Python sur le web via WebAssembly.
- Le projet est encore en développement, mais il ouvre de nouvelles possibilités dans l’écosystème Python et peut constituer une alternative intéressante pour les développeurs souhaitant utiliser Rust et Python ensemble.
2 commentaires
C’est un projet intéressant, mais je ne sais pas encore s’il sera vraiment si utile que ça.. Comme cela a déjà été mentionné plus haut, Jython et IronPython ont eux aussi fini par peiner à suivre les versions de CPython, au point de ne devenir des options viables que dans des contextes très limités. Je pense donc qu’il reste encore un long chemin à parcourir pour que RustPython réponde à ce que les autres en attendent.
Avis Hacker News
Liens associés :
Avis positif sur MicroPython :
Avis variés sur RustPython :
Avis sur les limites de RustPython :
Avis critique sur Jython et IronPython :
Partage d’expérience sur un projet utilisant RustPython :
Comparaison des performances de RustPython :