Geller, A.S., Schleifer, I.K., Sederberg, P.B. et al. Behavior Research Methods (2007) 39: 950. doi:10.3758/BF03192990
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.