VEXcode VR utiliza una versión modificada del tiempo de ejecución de Python llamada Pyodide para admitir la programación de Python en los navegadores.
VEXcode VR admite muchas de las funciones de la biblioteca estándar de Python 3.8, como:
- Funciones integradas - https://docs.python.org/3/library/functions.html
- Constantes incorporadas - https://docs.python.org/3/library/constants.html
- Tipos incorporados - https://docs.python.org/3/library/stdtypes.html
- Excepciones integradas - https://docs.python.org/3/library/exceptions.html
- Tipos de datos - https://docs.python.org/3/library/datatypes.html
- Estructuras de datos - https://docs.python.org/3/tutorial/datastructures.html
- Módulos numéricos y matemáticos - https://docs.python.org/3/library/numeric.html
- Módulos de programación funcional - https://docs.python.org/3/library/functional.html
- Hora - https://docs.python.org/3/library/time.html
- Servicios de procesamiento de textos - https://docs.python.org/3/library/text.html
Nota: Todavía no se han probado todas las funciones de la biblioteca estándar y la API en VEXcode VR. Algunas de las características estándar del lenguaje Python no son compatibles con VEXcode VR debido a la naturaleza de ejecutar Python en un entorno de tiempo de ejecución del navegador.
Ejemplos de diferencias con respecto al Python estándar:
- El acceso al sistema de archivos local y a la base de datos, el subprocesamiento múltiple, las redes y la comunicación entre procesos no funcionarán.
- Parte de la API de archivos funcionará (por ejemplo: Crear/Abrir/Escribir) en la parte superior del sistema de archivos virtual del navegador. Pero estos "archivos" virtuales residen en la memoria volátil del navegador y desaparecen cuando te alejas de la página de VEXcode VR.
- brain.print(...) debe usarse en lugar de print(...)
- Como no se admite el subproceso de Python, VEXcode VR admite un vr_threads personalizado que simula de cerca las tareas cooperativas.