Complementos de NVDA y Python 3

La comunidad de NVDA está llevando a cabo la transición de Python 2 a Python 3. El propósito de esta página es documentar los complementos que son compatibles con la versión de NVDA basada en Python 3, así como destacar problemas al usar el complemento con versiones futuras de NVDA.

¿Qué es la transición a Python 3?

Publicado en el año 2000, Python 2.x es uno de los lenguajes de programación más populares. Con soporte para Unicode, tecnologías web, y miles de bibliotecas de terceros, Python se convirtió en el lenguaje elegido para muchos proyectos, incluido NVDA en 2006.

A finales de la década del 2000, los desarrolladores de Python anunciaron Python 3000, un proyecto para modernizar Python. Se hicieron cambios a la sintaxis de Python, la biblioteca estándar, otros marcos de trabajo subyacentes, incluyendo la función print, soporte más extenso para Unicode, cambios a la biblioteca estándar, y cambios en los métodos de iteración como pasar de xrange a range. Aunque Python 3.x modernizó el lenguaje Python, debido al despliegue a gran escala de Python 2, los desarrolladores de Python decidieron dar soporte a Python 2.7 (la última versión de Python 2) hasta enero de 2020 para dar tiempo a la gente para moverse a Python 3.

En 2019, NV Access comenzó sus trabajo de transición a Python 3, dada la popularidad de NVDA y su longevidad. Este trabajo culminó con la liberación de compilaciones del proyecto Threshold de NVDA en julio de 2019, que están basadas en Python 3.7 e incluyen un conjunto de cambios además de la transición a Python 3, tales como la refactorización del habla, que afectará a los complementos.

Qué necesitas saber sobre la transición a Python 3 y los complementos

La transición a Python 3 afectará a muchos complementos alojados en este sitio web. Específicamente, se conocen los siguientes problemas:

  • El complemento no se carga porque NVDA lo marca como incompatible.
  • El complemento se carga, pero se muestran errores de sintaxis o errores de módulo no encontrado.
  • El complemento no carga por un desajuste en el bytecode.
  • El complemento se comporta de forma defectuosa al trabajar con texto.
  • El complemento funciona, pero ciertas características que se apoyan en la biblioteca estándar de Python no funcionan, como el acceso a Internet.
  • Algunos complementos de síntesis de voz o pantallas braille se comportan de forma defectuosa con la salida de texto.

Cuando encuentres estos problemas, deberías contactar con el autor o autores del complemento o complementos en cuestión (mira la siguiente lista para obtener información de contacto de los complementos alojados en este sitio). Asegúrate de proporcionar detalles cuando contactes con los autores.

Claves de estado de compatibilidad de los complementos listados a continuación:

  • Sí: compatible
  • No: incompatible (las ediciones del manifest y otros trucos no funcionarán)
  • PD: por determinar
  • Planeado: el autor ha indicado que planea portar el complemento
  • En progreso: el complemento se está migrando a Python 3

Estado de los complementos compatibles con Python 3 y otros cambios

A continuación se encuentra una lista de complementos alojados en este sitio web, junto con su estado de compatibilidad con la versión de NVDA que usa Python 3 y problemas conocidos, si los hay. La lista también incluye información de contacto del autor o autores del complemento.

Nota: el estado de compatibilidad de complementos está sujeto a cambios sin aviso previo. Además, aunque una forma de resolver los problemas de compatibilidad es editar el archivo manifest del complemento, algunos de los complementos que se listan a continuación son todavía incompatibles.