Abstract
PyEPL (the Python Experiment-Programming Library) is a Python library which allows cross-platform and object-oriented coding of behavioral experiments. It provides functions for displaying text and images onscreen, as well as playing and recording sound, and is capable of rendering 3-D virtual environments for spatial-navigation tasks. It is currently tested for Mac OS X and Linux. It interfaces with Activewire USB cards (on Mac OS X) and the parallel port (on Linux) for synchronization of experimental events with physiological recordings. In this article, we first present two sample programs which illustrate core PyEPL features. The examples demonstrate visual stimulus presentation, keyboard input, and simulation and exploration of a simple 3-D environment. We then describe the components and strategies used in implementing PyEPL. We acknowledge support from NIH Grants MH55687, MH61975, and MH62196; NSF (CELEST) Grant SBE-354378; and the Swartz Foundation.
Article PDF
Similar content being viewed by others
References
Baas, M. (2005). PyODE: Python bindings for the Open Dynamics Engine [Computer software]. Retrieved December 29, 2005, from pyode.sourceforge.net.
Bates, T., &D’Olivero, L. (2003). Psyscript: A Macintosh application for scripting experiments.Behavior Research Methods, Instruments, & Computers,4, 565–576.
Beazley, D. (2005). SWIG: Simplified Wrapper and Interface Generator [Computer software]. Retrieved December 28, 2005, from www.swig.org.
Brainard, D. H. (1997). The Psychophysics Toolbox.Spatial Vision,10, 443–446.
Castro Lopo, E. de (2005a). Libsamplerate [Computer software]. Retrieved December 28, 2005, from www.mega-nerd.com/SRC/.
Castro Lopo, E. de (2005b). Libsndfile [Computer software]. Retrieved December 28, 2005, from www.mega-nerd.com/libsndfile/.
Cohen, J. D., MacWhinney, B., Flatt, M., &Provost, J. (1993). PsyScope: A new graphic interactive environment for designing psychology experiments.Behavior Research Methods, Instruments, & Computers,25, 257–271.
Ekstrom, A. D., Kahana, M. J., Caplan, J. B., Fields, T. A., Isham, E. A., Newman, E. L., et al. (2003). Cellular networks underlying human spatial navigation.Nature,425, 184–187.
Keck, D. (2007). ActiveWire driver & interfaces for OS X [Computer software]. Retrieved January 17, 2007, from sourceforge.net/projects/activewire-osx/.
MacWhinney, B., St. James, J., Schunn, C., Li, P., &Schneider, W. (2001). STEP—A system for teaching experimental psychology using E-Prime.Behavior Research Methods, Instruments, & Computers,33, 287–296.
Pelli, D. G. (1997). The VideoToolbox software for visual psychophysics: Transforming numbers into movies.Spatial Vision,10, 437–442.
Plant, R. R., Hammond, N., &Turner, G. (2004). Self-validating presentation and response timing in cognitive paradigms: How and why?Behavior Research Methods, Instruments, & Computers,36, 291–303.
PyGame (2005). [Computer software]. Retrieved December 28, 2005, from www.pygame.org.
Scavone, G. P. (2005). RtAudio [Computer software]. Retrieved December 28, 2005, from www.music.mcgill.ca/~gary/rtaudio/. Simple DirectMedia Layer (2005). [Computer software]. Retrieved December 28, 2005, from www.libsdl.org.
Smith, R. (2005). Open Dynamics Engine [Computer software]. Retrieved December 28, 2005, from www.ode.org.Straw, A. (2006). VisionEgg [Computer software]. Retrieved January 25, 2006, from visionegg.org.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Geller, A.S., Schleifer, I.K., Sederberg, P.B. et al. PyEPL: A cross-platform experiment-programming library. Behavior Research Methods 39, 950–958 (2007). https://doi.org/10.3758/BF03192990
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.3758/BF03192990