Skip to main content

This python utility is intended for `BLIND` python programmers.

Project description

addend

This 'addend.py' code is a python utility intended for BLIND python programmers.

For Visual Impaired (VI) programmers it is NOT easy to listen to and explore large python code files where the number of indent spaces on each line of code has a syntactical meaning for python interpreters.

'addend' adds #comments, like '# @end: if','# @end: for' etc, for easier sound recognition when a syntax block structure has ended as defined by python's space indentation rules. Those added '# @end:' comment lines are placed whenever a syntax block has ended. Hopefully, these #comments provides guidance for VI folks while they simultaneously decipher python code and intently listen to unfamiliar python code with their favorite reader like JAWS or NVDA.

Python started in 1991 and is now a popular programming language because of its syntax simplicity and success in Data Science & ML Projects. With the advent of python-based LLMs the use of python has increased dramatically leaving blind python programmers at a disadvantage in that field. Python is an "offside" language depending solely on the different space indentation to close syntax blocks. This makes it difficult for blind folks to study unfamiliar python code and to listen at the same time to readers like JAWS or NVDA.

Below highlights the blind python programmer's dilemma - advice given by a python developer to folks working in python:

"Generally, if you're used to curly braces {} language, just indent the code like them and you'll be fine."

should be expanded to ==> "except when you are blind and depend on a reader".

Blind folks are disadvantaged in today's fast past AI work environments when it comes to programming in python.

'addend' is hopefully a simple step to make it easier for the VI folks to use JAWS or NVDA readers while working on large & unfamiliar python files.

The basics for working with 'addend':


 [1] use it in conjunction with VScode or any other editor:
   ==>  'code my_large.py'       launch python file in VScode
   ==>  'addend my_large.py'     run in cmd or terminal window
      a backup 'my_large.MMDD.hhmmss.py' is automatically created
      and VScode updates showing '# @end:' comments.

 [2] use it to keep original file untouched, use new file that is generated:
   ==> 'addend my_large.py new_large.py'
       'code new_large.py' VScode shows the added '# @end:' comments.

 [3] to remove any added '# @end:' comments use:
   ==> 'addend -r new_large.py'       (output to same file)
   ==> 'addend -r new_large.py final_large.py'    (output to different file)
   ==> 'addend -r -d new_large.py'    (also lists all ignored lines)

 
 Python version: >=3.7 installation is required.

 Optional requirement:     to run [-b] option: 'black' python syntax checker
       to install use:     'pip install black'

 To install 'addend' on MacOS or Windows platform use:

   'pip install addend'

 Run 'addend' from command line without leading 'python' or '.py' :

 % 'addend --help' 

 usage: addend [-h] [-b] [-r] [-d] [-v] [inFilename] [outFilename]

 positional arguments:
   inFilename     process input inFilename.py to add '# @end:' lines based on python indent rules.
   outFilename    specify OPTIONAL outFilename.py ; DEFAULT output is same inFilename.

 optional arguments:
   -h, --help     show this help message and exit
   -b, --black    run 'black' python syntax checker before & after 'addend' processing.
   -r, --remove   ONLY remove ALL '# @end:' comment lines from input filename.
   -d, --debug    print debugging lines.
   -v, --version  print version number.

    Default output is 'inFilename.py' with '# @end:' comments added.
    Unchanged input file is SAVED as 'inFilename.MMDD-hhmmss.py'

 NOTE: all prior added "# @end:" comment lines are removed
 during the next addend run and are re-added accordingly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

addend-1.19.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

addend-1.19-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file addend-1.19.tar.gz.

File metadata

  • Download URL: addend-1.19.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.0

File hashes

Hashes for addend-1.19.tar.gz
Algorithm Hash digest
SHA256 faaa412029f45f73fc04bb6672197fd7e949dd698950c7e8d077eb6e5814a40c
MD5 71d149a83284af876c2209de4f625379
BLAKE2b-256 99c301b342f1410ecd3ff34fff03da55708799226e56a3ea43b6eb567feadb27

See more details on using hashes here.

File details

Details for the file addend-1.19-py3-none-any.whl.

File metadata

  • Download URL: addend-1.19-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.0

File hashes

Hashes for addend-1.19-py3-none-any.whl
Algorithm Hash digest
SHA256 cf725c165d68dea3ffc7a7d62b4e7cac51b0037cf1f0dcd9a4269f0abe794374
MD5 cecf2c57da29db21111adb274a260dbb
BLAKE2b-256 5acca14c8617c1143077a1d07767c8746013da2b19f1268fbc898e6ca49ec88a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page