Re: Query regarding the porting of NVDA to Python3

Brian's Mail list account
 

I'm not aware of a 64 bit version I note that Even Jaws has bits in 32 and bits in 64 bit. I guess this raises a whole new set of issues about threading and memory use etc though.
Brian

bglists@...
Sent via blueyonder.
Please address personal email to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
This message sent from a Windows XP machine!

----- Original Message -----
From: "Joseph Lee" <@joslee>
To: <nvda-devel@groups.io>
Sent: Saturday, July 27, 2019 5:29 PM
Subject: Re: [nvda-devel] Query regarding the porting of NVDA to Python3


Hi,
Expect some things with speed, and for multilingual speakers, a chance to deal with multiple languages more consistently (at least I would imagine that will be the case). Also, more Unicode characters will be recognized.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Akash Kakkar
Sent: Saturday, July 27, 2019 9:24 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] Query regarding the porting of NVDA to Python3

Wow, that's excellent!
And, what will be the user facing changes?
with the responsiveness and speed be improved?
Will it still be in 32 bit or this time 64 bit is also in plan?

On 7/27/19, Joseph Lee <@joslee> wrote:
Hi,
The biggest change you'll notice is text handling - no more
distinction between bytes and Unicode as far as regular text handling
is concerned; when it comes to specialized situations, knowing what
you are working will become important.
There are other changes you may see (depending on which modules gets
included), including:
* Enum: enumeration becomes way easier.
* Chain map: basically, a dictionary of dictionaries where items are
fetched from the topmost map (first dictionary).
* Barriers: a way to tell multiple threads to wait for each other
before released all at once.
* Async/await: working with asynchronous generators, a bit advanced at
the moment.
* No more pyo files: gone in Python 3.5.
* Time-based thread switching: Python 2 employs instruction count when
switching between threads, whereas Python 3 uses timers.
* Faster file system traversal: os.scandir is introduced, which uses
generators to traverse directories. Several os module functions use
scandir internally to speed things up.

Some things that may make its way to NvDA in future Python 3 releases:
* Assignment expressions (:=): part of Python 3.8, it allows some (if
not
all) conditional statements to become a bit more readable.
* Breakpoint hooks (part of 3.7 I believe): one can override
sys.breakpointhook so something other than Python Debugger (pdb) can
be invoked to debug NVDA; the most likely scenario is allowing Visual
Studio debugger to debug NVDA if given a chance.

Cheers,
Joseph
-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Akash
Kakkar
Sent: Saturday, July 27, 2019 7:30 AM
To: nvda-devel@groups.io
Subject: [nvda-devel] Query regarding the porting of NVDA to Python3

Hi all,
So, finally, we have started getting alpha releases based on Python3.
I was wondering, that when NVDA version 2019.3 will be released later
this year, which improvements/features/fixes will be able to observe
from
NVDA_Python2 to NVDA_Python3?






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