Project Walrus: it is accomplished... not quite


 

Hello NVDA add-ons community,

As of NVDA alpha snapshot build 21882, NVDA is powered by Project Walrus aka Python 3.8. This marks a milestone in this project in that anyone wanting to provide early feedback can now test Python 3.8 based NVDA. This also means interested add-on authors should start porting their add-ons to Python 3.8, with broader porting to commence once NVDA 2021.1 beta 1 is released.

 

Key changes to be aware of:

 

  • If your add-on uses C extensions (.pyd files), YOU MUST USE Python 3.8 pyd files! Or better, if you wish to support NVDA 2019.3 or later, you must install pyd files for Python 3.7 and 3.8.
  • Unless the situation changes, you can now use asyncio library from add-ons. In theory, this will let you define asynchronous functions more easily.
  • As part of Project Walrus, wxPython was upgraded to 4.1.1. There can be breaking changes, so please test things early.
  • You can now use assignment expressions (:=).

 

Next steps: interested authors should start porting their add-ons. Most add-ons will work out of the box, but there is at least one add-on that will break after installing NVDA alpha snapshot 21882. Between now and NVDA 2021.1 beta 1 release should be considered pre-transition phase, with broader transition to be declared once beta cycle starts.

 

Cheers,

Joseph

Join nvda-addons@nvda-addons.groups.io to automatically receive all group messages.