Our group has been designing and writing experiments in Python for the better part of a decade now. And an absolutely critical library for getting us started was Jon Pierce’s PsychoPy. However, in the last few years the emphasis has moved to developing and supporting a gui interface to the library’s functions. This is obviously a boon for many psychologists, but I wonder if it has the effect of keeping from them learning how to code, by allowing them to do most, but often not all, of what they wanted to do? This was what I saw with E-prime users. They would think of the experiment they wanted to do, realize they couldn’t do it in E-prime, and then implement a nearest neighbor approximation, which often wasn’t that near-by. We shouldn’t let the software determine what experiments we run. We should run the experiments dictated by our scientitific needs. In this day, everyone needs to have some rudimentary coding competency so that they don’t feel trapped by the drop-down box options of their favorite plug and play tool. If GUIs help bridge the fear chasm that separates many psychologists from doing this, great, but I wonder if it really does?
In any case, and all personal gripes aside, PsychoPy has been and is a great tool for the field of experimental psychology. If you would like to learn more about it, its history, and its principal designer checkout the recent podcast at