title: PyEPL: a cross-platform experiment-programming library.
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 forspatial-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.
authors.affiliation: University ofPennsylvania, Philadelphia, Pennsylvania 19104, USA.
authors.forename: Aaron S
authors.initials: AS
authors.lastname: Geller
authors.forename: Ian K
authors.initials: IK
authors.lastname: Schlefer
authors.forename: Per B
authors.initials: PB
authors.lastname: Sederberg
authors.forename: Joshua
authors.initials: J
authors.lastname: Jacobs
authors.forename: Michael J
authors.initials: MJ
authors.lastname: Kahana
mesh_terms: D001519:Behavior; D003201:Computers; D006801:Humans; D007990:Libraries; D011589:Psychology, Experimental / Q000295:instrumentation*; D014584:User-Computer Interface