Accessible Python IDE for MacOS

By JAVilla, 1 August, 2018

Forum
macOS and Mac Apps

Greetings everybody.
I'm creating this post to get some guidance in regards to Python programming on MacOS with VoiceOver.

Recently I decided to learn this programming language , and since I also recently purchased a MacBook Pro I wanted to make the best use of it and do some coding. Unfortunately I have yet to find an efficient way to do this.

So far I download the Python package from the Python website:

https://www.python.org/downloads/

But when I tried to use IDLE (which as far as I understand s the IDE that comes with it by default) and tried to use it as the course I'm taking explains, I notice that the text on IDLE is not been read by VoiceOver .

Also I downloaded XCode because I founded a tutorial on how to use Python on it. I tried to do it but of course since it made by a sighted person it is kind of hard to follow. I was able to do it to a certain extend but and stuck at this moment.

https://www.youtube.com/watch?v=GUBGoeCu19I

That is why I'm reaching you guys, to get some feedback and also maybe some suggestion on how to do this because I'm really interested in doing this.

Best regards.

Long days and pleasant nights.

Options

Comments

By Greg Wocher on Monday, July 30, 2018 - 21:57

Hello,
I know emacs and emacspeak can be used for programming python. Emacs is completely accessible once emacspeak is installed. Also there is a editor I have been trying out mainly for html work called Code Runner. It can also be used to program with python. It is accessible and it does cost $14.99. Oh one more I just thought of is using an editor called COT editor. It is on the mac app store and it is free. It is also accessible.

Greg WOcher

By JAVilla on Monday, July 30, 2018 - 21:57

I’m going to try your suggestions and I’ll let you know the outcome.
Best regards.

By Chuck Winstead on Monday, July 30, 2018 - 21:57

I've used TextMate, and it's free. It's an editor and not an IDE which I prefer over an IDE.
The nice thing with TextMate is that it's able to be used for multiple programing languages. I use it when I play around with Ruby.
As for Emacs, and Emacs Speak. If you can get it installed. I've heard it's accessible from the people on the pythonvis forum.
I have not much luck getting it installed.
I've also played around with Smultron. It's an editor that's $10, but can be downloaded for free as a demo. Last time I tried it worked pretty well.
Lastly, as an IDE. I've played around with Eclipse, and I've dabbled on the Visual Studio Code, and the Community versions.
If you can figure out how to work them with VoiceOver definitely let me know. On the surface things look accessible. I mean I was able to read things, but as for moving back in after going to run and check errors. I've had to have a sighted person play copilot.
Hopefully this helps. I know someone else had mentioned Emacs Speak as well.
Chuck

By Michael Doise on Monday, July 30, 2018 - 21:57

I have heard a lot of folks use TextMate as stated here, but I recommend folks just use a basic text editor and command line tools to get the full experience. Also, there is Visual Studio Code or Visual Studio for Mac, but I am not sure as to the accessibility of these applications. Xcode can work with Python but it is a chore to set up.

By splyt on Monday, July 30, 2018 - 21:57

Stay on Windows side or use emacspeak.

Depending on VoiceOver for python programming is not recommended as the indentation announcement is not very good and for python this is fundamental.

Also eclipse and visual studio for Mac are not accessible. Do take care when advising the use of software on mac only because it works well on another operating system.

Nothing outcomes the use of vscode and NVDA with the indent nav add on on Windows to support python development. Remember though that serious development also involves code inspecting and debugging, aspects that a simple editor won't offer ... so either go to Windows and be really satisfied with NVDA + tone indentation announcement + indent nav add on + vscode or stay with emacspeak on whatever platform you want. Again do not deppend on VoiceOver to help you with coding ... and forget xcode it will not help you

By Simon on Monday, July 30, 2018 - 21:57

As others have said you have a few options.

Want to get up and running quickly but without full IDE features. On the mac use TextMate and the terminal for running the python code.

On windows use Notepad++ and run at the command line or through a Linux subsystem.

If you want the full IDE experience, so code completion, code suggestion, quick help and code snippet insertion. With all of that fully working with a screen reader then you need to use Emacspeak.

I am travelling so cant send my configuration file right now but you will need the following.

Emacspeak installed [some great guides online]
Elpy - this is the python package to use under Emacs
SmartParens - this will ensure your brackets, braces and speech marks are balanced
Company-quickhelp - this will give you the quick help tips for functions within python
Yasnippets-snippets - this will give you snippet insertion, so for example typing the word class then pressing tab will insert a skeleton python class

There are a few issues you will have to iron out in your Emacs configuration file, but googling will help a lot. Or wait until i am back from my reavers and i can send my file then you just need to install Emacspeak and some packages.

After some research I notice that you are correct. The vest option for Python coding is actually Windows + NVDA, as far as I know.

The indentation is definitely an issue and you are right, it doesn't make much sense to struggle and not being productive just for the sake of staying on Mac.

Thank you for the advise.

That is actually very helpful. Appreciate it.

By Igna Triay on Wednesday, June 30, 2021 - 21:57

Idle is not accessible. I've been using pycharm on the mac, and while it does kinda have a steep learning curve, it seems to work pritty well far as I can tell for coding.

By Mani on Friday, September 30, 2022 - 21:57

Hello,
I have emacspeak working with emacs on my MacBook Pro but for some reason I cannot issue any emacspeak subsystem commands. Is there anything I need to add to the emacs.el file to get that work? I followed Devin Prader's instructions (link Kindly provided by Greg, a poster here). Sample of the emacspeak related commands in the emacs.el file will help me greatly.
On another note, has anyone tried the Kate editor for Python development? It seems to be compatible with VoiceOver on my first impression.
Thanks,
mani

By Greg Wocher on Friday, September 30, 2022 - 21:57

I am going to paste a copy of my .emacs.el file below. Also with the new indentation support coming in macOS Ventura editors like vsCode and pyCharm are going to be much more useful for coding python.
(load-file "/Users/gregwocher/emacspeak/lisp/emacspeak-setup.el")
(dtk-set-rate 400 t)

(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(mac-ignore-accessibility t)
'(mac-left-command-modifier 'meta)
'(mac-left-option-modifier 'super)
'(mac-right-command-modifier 'control)
'(mac-right-option-modifier 'hyper)
'(package-selected-packages '(emmet-mode elpy)))

(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

(require 'package)
(add-to-list 'package-archives
'("melpa-stable" . "https://stable.melpa.org/packages/"))