VEXcode VR utilise une version modifiée du moteur d'exécution Python appelée Pyodide pour prendre en charge la programmation Python dans les navigateurs.
VEXcode VR prend en charge de nombreuses fonctionnalités de la bibliothèque Python 3.8 Standard telles que :
- Fonctions intégrées : https://docs. python.org/3/library/functions.html
- Constantes intégrées : https://docs. python.org/3/library/constants.html
- Types intégrés : https://docs. python.org/3/library/stdtypes.html
- Exceptions intégrées : https://docs. python.org/3/library/exceptions.html
- Types de données : https://docs.python. org/3/library/datatypes.html
- Structures de données : https://docs.python. org/3/tutorial/datastructures.html
- Modules numériques et mathématiques - https://docs. python.org/3/library/numeric.html
- Modules de programmation fonctionnelle - https://docs.python .org/3/library/functional.html
- Temps - https://docs.python.org /3/library/time.html
- Services de traitement de texte - https://docs.python .org/3/library/text.html
Remarque : Toutes les fonctionnalités et API de la bibliothèque standard ne sont pas encore testées dans VEXcode VR. Certaines des fonctionnalités standard du langage Python ne sont pas prises en charge dans VEXcode VR en raison de la nature de l'exécution de Python dans un environnement d'exécution de navigateur.
Exemples de différences par rapport au Python standard :
- Système de fichiers local et accès à la base de données, multi-threading, mise en réseau, communication inter-processus ne fonctionnera pas.
- Certaines API de fichiers fonctionneront (par exemple : créer/ouvrir/écrire) au-dessus du système de fichiers virtuel du navigateur. Mais ces "fichiers" virtuels résident dans la mémoire volatile du navigateur et ils disparaissent lorsque vous quittez la page VEXcode VR.
- brain.print(...) doit être utilisé à la place de print(...)
- Comme le threading Python n'est pas pris en charge, VEXcode VR prend en charge un vr_threads qui simule fidèlement les tâches coopératives.