Topics

Introduction, and, question regarding commented/documented example of an NVDA add-on

Jacob Kruger
 

Hi there


Been thinking for a little while that I should, at least, play around with/try out NVDA add-on development, and, for a bit of background, while web application development is my primary focus area, working with PHP, javascript, etc., I have been working with python as well for at least 10 years now - current version here on my development machines is 3.7, if relevant - primarily for my own utility applets, testing processes, etc., but, also a little bit in terms of working with wxPython UI library, etc.


Either way, was just wondering if there's a specific version of python should use in this context - 3.4? - and if there are sample add-on packages out there, offering source code, as well as explanations in comments, etc., or something so I can work through them to see if I think I might be able to make any form of contribution in this context?


TIA


Jacob Kruger
Blind Biker
Skype: BlindZA
"...resistance is futile...but, acceptance is versatile..."

Luke Davis
 

Hi Jacob

All your questions here are covered in the NVDA Add-on Development Guide, which Joseph Lee has just done some excellent updates on. It is very current to modern NVDA.

https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide

Below, I give some particular sections that should be of interest to you are. However, I suggest that rather than spending much time jumping around to the things below, you start at the top of the table of contents, and at least get some familiarity with each chapter or major section.

Your python question is answered early in the chapter called "Setting Up Your Add-on Development Environment": https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-setting-up-your-add-on-development-environment

Hands-on examples: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-getting-started-hands-on-examples

There is a lot in "Add-on module components and development tips" that you should see: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-add-on-module-components-and-development-tips
That chapter has many subsections, so it may be best to tackle it via the table of contents.

Advanced Code Examples and Features: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide

Appendix B: Programming and Python concepts every add-on developer needs to know: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-appendix-b-programming-and-python-concepts-every-add-on-developer-needs-to-know

Some examples of add-ons you might want to review for code ideas, see the section "The NVDA Add-ons list": https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-the-nvda-add-ons-list

Regards,

Luke

On Thu, 30 Jul 2020, Jacob Kruger wrote:

Been thinking for a little while that I should, at least, play around with/try out NVDA add-on development, and, for a bit of background, while web application development is my primary focus area, working with PHP, javascript, etc., I have been working with python as well for at least 10 years now - current version here on my development machines is 3.7, if relevant - primarily for my own utility applets, testing processes, etc., but, also a little bit in terms of working with wxPython UI library, etc.


Either way, was just wondering if there's a specific version of python should use in this context - 3.4? - and if there are sample add-on packages out there, offering source code, as well as explanations in comments, etc., or something so I can work through them to see if I think I might be able to make any form of contribution in this context?

Jacob Kruger
 

Ok, awesome!


Will check it out thoroughly.


Jacob Kruger
Blind Biker
Skype: BlindZA
"...resistance is futile...but, acceptance is versatile..."

On 2020-07-30 11:19 AM, Luke Davis wrote:
Hi Jacob

All your questions here are covered in the NVDA Add-on Development Guide, which Joseph Lee has just done some excellent updates on. It is very current to modern NVDA.

https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide

Below, I give some particular sections that should be of interest to you are. However, I suggest that rather than spending much time jumping around to the things below, you start at the top of the table of contents, and at least get some familiarity with each chapter or major section.

Your python question is answered early in the chapter called "Setting Up Your Add-on Development Environment": https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-setting-up-your-add-on-development-environment

Hands-on examples: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-getting-started-hands-on-examples

There is a lot in "Add-on module components and development tips" that you should see: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-add-on-module-components-and-development-tips
That chapter has many subsections, so it may be best to tackle it via the table of contents.

Advanced Code Examples and Features: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide

Appendix B: Programming and Python concepts every add-on developer needs to know: https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-appendix-b-programming-and-python-concepts-every-add-on-developer-needs-to-know

Some examples of add-ons you might want to review for code ideas, see the section "The NVDA Add-ons list": https://github.com/nvdaaddons/DevGuide/wiki/NVDA%20Add-on%20Development%20Guide#user-content-the-nvda-add-ons-list

Regards,

Luke

 On Thu, 30 Jul 2020, Jacob Kruger wrote:

Been thinking for a little while that I should, at least, play around with/try out NVDA add-on development, and, for a bit of background, while web application development is my primary focus area, working with PHP, javascript, etc., I have been working with python as well for at least 10 years now - current version here on my development machines is 3.7, if relevant - primarily for my own utility applets, testing processes, etc., but, also a little bit in terms of working with wxPython UI library, etc.


Either way, was just wondering if there's a specific version of python should use in this context - 3.4? - and if there are sample add-on packages out there, offering source code, as well as explanations in comments, etc., or something so I can work through them to see if I think I might be able to make any form of contribution in this context?