Expyriment: A Python library for cognitive and neuroscientific experiments
Expyriment is an open-source and platform-independent lightweight Python library for designing and conducting timing-critical behavioral and neuroimaging experiments. The major goal is to provide a well-structured Python library for script-based experiment development, with a high priority being the readability of the resulting program code. Expyriment has been tested extensively under Linux and Windows and is an all-in-one solution, as it handles stimulus presentation, the recording of input/output events, communication with other devices, and the collection and preprocessing of data. Furthermore, it offers a hierarchical design structure, which allows for an intuitive transition from the experimental design to a running program. It is therefore also suited for students, as well as for experimental psychologists and neuroscientists with little programming experience.
KeywordsSoftware Programming library Python Experimental design Stimulus presentation
We thank Pascal de Water for great technical support, Sebastiaan Mathôt for his code evaluation and for choosing Expyriment as the default back end of OpenSesame 0.27, as well as dozens of students and colleagues for using old preliminary versions of Expyriment for their studies. Without their feedback, Exypriment would not have reached the level of a stable and reliable experiment programming library.
- Free Software Foundation. (2007). GNU General Public Licence. Retrieved from www.gnu.org/copyleft/gpl.html
- Jones, E., Oliphant, T. E., Peterson, P., et al. (2001). SciPy: Open source scientific tools for Python [Computer software]. Retrieved from www.scipy.org
- Oliphant, T. E. (2006). Guide to NumPy. Trelgol Publishing.Google Scholar
- PyOpenGL. (2012). [Computer software]. Retrieved from http://pyopengl.sourceforge.net
- PySerial. (2012). [Computer software]. Retrieved from http://pyserial.sourceforge.net
- Shinners, P. (2012). Pygame [Computer software]. Retrieved from www.pygame.org
- Van Rossum, G., & Drake, F. L. (2011). Python language reference manual. Bristol, UK: Network Theory Ltd.Google Scholar