Re: Announcing Project Pylennium: porting NVDA code base, dependencies, and developer attitudes to Python 3.6.x


 

i use xp, love it and dont believe negative statement against it.
its realy great operating system forever.

On 7/24/17, Shaun Everiss <sm.everiss@...> wrote:
Well I wouldn't use xp for the net anymore its far to insecure for that.

However its good for all those 32 bit programs you need to use, ie old
games especially those that use directx 8 or whatever that is.

They are also usefull well xp is for old nokia 32 bit apps and other
older games.




On 24/07/2017 7:52 p.m., Brian's Mail list account via Groups.Io wrote:
I think at present at least, XP is not really very good for web
browsing any more due to the tendency for even the working third party
browsers to be quite slow on single core machines of that vintage.

It is however still a joy to use for those of us who hate all the
issues over too much security on single user computers that 7 8 and
now 10 impose on us all.
Brian

bglists@...
Sent via blueyonder.
Please address personal email to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
----- Original Message ----- From: "Joseph Lee"
<joseph.lee22590@...>
To: <nvda@nvda.groups.io>
Sent: Saturday, July 22, 2017 7:07 PM
Subject: Re: [nvda] Announcing Project Pylennium: porting NVDA code
base, dependencies, and developer attitudes to Python 3.6.x


Hi,
NV Access said they'll support XP as long as possible, but it won't be
forever. I'm using Python 3.4 and 3.6 internally for this reason.
Cheers,
Joseph

-----Original Message-----
From: nvda@nvda.groups.io [mailto:nvda@nvda.groups.io] On Behalf Of
nasrin khaksar
Sent: Saturday, July 22, 2017 4:46 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Announcing Project Pylennium: porting NVDA code
base, dependencies, and developer attitudes to Python 3.6.x

thanks for good news joseph and brian.
do you continue supporting of xp?
i became worried when i read the message for the first time.
God bless you all!

On 7/22/17, Brian's Mail list account via Groups.Io
<bglists@...> wrote:
Sounds sensible. At least this will preserve xp etc with the old
Python for

as long as possible. One thing you do not say, which may be obvious to
you,

but perhaps not to the average user is..
What are the reasons for change.
is it that its going to be faster, 64 bit or has better ways of doing
stuff

nvda needs to be able to do in the future?
Obviously not in your remit is that at some point an agreed last
working version of the old NVDA that can work on xp etc is going to
have to be made

available and then when add ons are updated, those that will and won't
run on the old version will need to be noted and if possible trapped
by the old

version so it cannot be scrambled by an add on.


Brian

bglists@...
Sent via blueyonder.
Please address personal email to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
----- Original Message -----
From: "Joseph Lee" <joseph.lee22590@...>
To: <nvda@nvda.groups.io>
Sent: Saturday, July 22, 2017 7:55 AM
Subject: [nvda] Announcing Project Pylennium: porting NVDA code base,
dependencies, and developer attitudes to Python 3.6.x


Ladies and gentlemen,



Some of you have been asking NV Access and the global NVDA community
regarding porting NVDA source code and dependencies to Python 3. I
and some contributors have been brainstorming best ways to accomplish
this, and NV Access, contributors, some add-on writers, users, and
NVDA observers agree that it is important that we look into
eventually porting NVDA to Python 3.



Until recently, the possibility of moving NVDA to Python 3 seemed to
be only a dream. However, a major hurdle was overcome earlier this
year when wxPython 4 alpha was released, promising support for Python
versions 2.7 and 3.x. Apart from a major problem regarding certain
internal routines from wxPython 4 that may not be compatible with
NVDA source code, the stage is almost set to begin our transition to
Python 3, dubbed "Project Pylennium".



Project Pylennium is a new project I'm planning and working on that
should make it easier for NV Access, code contributors, add-on
writers, users and many others to experience smooth transition to
Python 3. The overall goal

of
this project is to prepare NVDA's source code so it can run on both
Python

2
and 3 in most cases until developers are ready to move on. This
project also seeks to uncover possible compatibility issues for NVDA
community when the transition happens, and to document these findings
so it can serve as guidelines to current and future developers.



The current iteration of Project Pylennium (based on NVDA GitHub issue
7105
as a roadmap) can be found on my copy of NVDA source code at:

https://github.com/josephsl/nvda

The branch to use is "py3000".



Project pylennium involves the following:



1. Gather dependencies required for Python 3 transition, such as newer
versions of Python, ConfigObj and many others. A crucial dependency is
the
Six module, which adds compatibility layer functions for both Python 2
and
3.
2. Document porting notes, which will eventually be published on our
NVDA Community wiki.
3. Create source-level compatibility layer in order to mitigate changes
in module names, standard library folder structure, function and class
names
and so on.
4. Migrate most code to Python 3 syntax.
5. Frequent and regular testing to make sure regressions are not
introduced.



Progress so far:



1. Imports: a compatibility layer is in place to import Python 2 or 3
version of winreg, pickle, io.StringIO and what not.
2. Compiles fine via SCons 2.x.
3. Possible to see the first initialization phase of NVDA launcher
(nvda.pyw) via command line. The biggest showstopper at this time is
the
fact that logHandler.StreamHandler constructor uses file function when
Python 3 says it isn't available, which suggests we need to
modernize log
handler module.



Benefits:



1. Allows NV Access to look at porting data and make informed
decisions.
2. Allows contributors and Python experts to provide expertise and
prepare the source code for Python 3 transition.
3. Allows add-on authors to look at changes and prepare their add-ons
to run on Python 3.
4. Allows interested users to be involved in a major project and
provide test data.



Disadvantages:



1. We need to part ways with Windows XP and Server 2003.
2. Stress throughout the project, as it is nothing like what we've seen
recently.
3. Some add-ons will need community intervention to get them to run on
Python 3, as some are abandonware (no longer maintained by authors
or the
add-ons community don't know who wrote some of them and lost contact
with
some authors).
4. Possible issues in code and other ones, especially when looking at
code and attitude conflicts.



Next steps:



1. I'm looking for volunteers and subproject leads: if you are
passionate about Python, NVDA, and want to help NVDA achieve the next
milestone, please help and find folks who can assist in this
project. In
regards to subprojects, mostly have to do with dependency checks and
tests,
testing, documentation, talking to Python Software Foundation (PSF),
recruiting Python experts and what not.
2. Cooperation: as Project Pylennium is a grand-scale project, we
cannot move forward and make it a reality unless cooperation between
developers, add-on authors, users, observers and many others is there.
3. Promote: one way to keep the momentum going is promoting this
project far and wide.
4. Continued work: I'm looking into how to port urllib imports, as this
module has seen huge folder restructuring in Python 3 and other work.



What you'll need for this project:



1. Python 3.6.0 32-bit or later (3.6.2 is recommended).
2. wxPython 4 alpha 3 or later with the wheel for Python 3.5 or 3.6.
3. Six module (from PYPI).
4. ConfigObj 5.0.6.



Guidelines:



1. When sending pull requests, please do NOT send them to NV Access
yet, as folks over there are working on high priority work. Instead,
send

a
pull request against josephsl/nvda branch py3000.
2. Please provide a clear commit message when sending in pull requests
so folks can track what has changed.
3. Before you commit, please make sure to test NVDA in order to catch
regressions and write workarounds.
4. At least once a month, I will merge NV Access master branch to keep
the code up to date and incorporate changes into this project,
sometimes
requiring transforming syntax to fit Python 3 requirements.
5. If you want to port add-ons, please do so at your earliest
convenience or when you are ready. As part of this work, I myself will
port
my own add-ons to Python 3 (one of them is done; throughout this year,
I'll
port rest of my add-ons). Please do not port your add-ons to Python 3
completely - I recommend making it so it'll run happily on both Python
versions.



Thank you.

Sincerely,

Joseph







--
we have not sent you but as a mercy to the creation.
holy quran, chapter 21, verse 107.
in the very authentic narration is:
imam hosein is the beacon of light and the ark of salvation.
best website for studying islamic book in different languages
al-islam.org

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