Skip to content

Upgrade NVDA codebase to Python 3 #7105

@josephsl

Description

@josephsl

Hi,

This issue serves as an umbrella issue for several related issues, one of them being #7077.

Python 3 introduces changes to syntax and inner workings of Python. Some of the changes include:

  • Unicode strings.
  • Use range function.
  • _winreg -> winreg.
  • threading.Barrier.
  • collections.ChainMap.
  • Reorganized standard library folder structure.
  • Timer-based GIL instead of instruction count.
  • Possibilities with asynchronous functions (async/await).
  • Virtual environments.
  • Built-in compatibility with Windows 10 (Python 3.5 or later).
  • Losing Windows XP support (Python 3.5 and later).
  • No more .pyo files.

Upgrading to Python 3 will require huge coordination, as NVDA developers, add-on writers, translators, users and others will need to adapt new attitudes, assumptions and so on. In terms of dependencies, the only thing left is SCons (wxPython is discussed in #7077).

Thanks.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions