PsychoPy is an open-source package for running experiments in Python (a real and free alternative to Matlab). PsychoPy combines the graphical strengths of OpenGL with the easy Python syntax to give scientists a free and simple stimulus presentation and control package. It is used by many labs worldwide for psychophysics, cognitive neuroscience and experimental psychology.
The code is fully platform independent (known to work on Windows, OS X and Linux), using Python and C libraries that are widely available.
Because it’s open source, you can download it and modify the package if you don’t like it. And if you make changes that others might use then please consider giving them back to the community via the mailing list. PsychoPy has been written and provided to you absolutely for free. For it to get better it needs as much input from everyone as possible.
There are many advantages to using PsychoPy, but here are some of the key ones
- Platform independent (used in numerous labs on Win, OS X and linux)
- Simple, clean syntax (see the demo code)
- Freeware (and based on totally free libraries)
- Simple (or complex) GUIs via wxPython
- Easy interfaces to joysticks, mice, keyboards
- Easy interface to parallel and serial ports
- Unicode text rendering in any TrueType font
- Multi-monitor support (and multiple windows)
- Plays movies (mpg, DivX, avi, QuickTime...) as stimuli
- All stimuli rendered in realtime (so can be modified in realtime too)
- Simple routines for staircase and constant stimuli experimental methods as well as curve-fitting and bootstrapping
- Integration with CRS Bits++(for 14bit luminance resolution)
- Integration with Spectrascan PR650 for easy monitor calibration
The package is written almost entirely in Python using platform independent libraries (see list below). Since these are all available on all popular platforms PsychoPy will run anywhere and is limited only by your graphics card (make sure you have a decent 3D-accelerated card).
A couple of papers have been written about PsychoPy already. Please cite them if you use the software.
- Peirce, JW (2007) PsychoPy - Psychophysics software in Python. J Neurosci Methods, 162(1-2):8-13
- Peirce JW (2009) Generating stimuli for neuroscience using PsychoPy. Front. Neuroinform. 2:10. doi:10.3389/neuro.11.010.2008
PsychoPy is an open-source, community-driven project. It is written and provided free out of goodwill by people that make no money from it and have other jobs to do. The way that open-source projects work is that users contribute back some of their time. If you can improve PsychoPy, either by;
- fixing incorrect or unclear documentation - just email some improved text
- fixing a minor bug in the code
- writing a little feature that can be added
- if nothing else, then at least tell the primary developers that a bug exists - they likely don’t know!
For more information on how to view and edit the documentation and code see the section on Contributing to the project