VEXcode VRutilise une version modifiée du runtime Python appeléePyodidepour prendre en charge la programmation Python dans les navigateurs.
VEXcode VRprend 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/function.html
- Heure -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 :
- Le système de fichiers local et l'accès à la base de données, le multithreading, la mise en réseau et la communication inter-processus ne fonctionneront pas.
- Certaines API de fichiers fonctionneront (ex : 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 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 unvr_threadspersonnalisé qui simule fidèlement les tâches coopératives.