From Computational Memory Lab
Jump to: navigation, search

PandaEPL is a cross-platform spatial navigation experiment programming library. It supersedes PyEPL's VR module, although PyEPL is still recommended for programming experiments with 2D stimuli. Technical details and sample usage are described in a methods paper on PandaEPL that is in press (as of January 2013) at Behavior Research Methods. This paper may be read on the lab Publications page here.

At minimum, PandaEPL requires:

On Microsoft Windows, Python is included with Panda3D. Sound playback and recording are supported by interfacing with the Snack library. Joystick input is supported by interfacing with PyGame. Both libraries are optional and are required only if you wish to use the corresponding features.


After installing the above dependencies, you may download PandaEPL by clicking here. Installation is simple and makes use of Python's standard Distutils mechanism. From a command prompt, navigate to the unzipped directory and type:

ppython install

On Mac OS X and Linux, precede the above command with sudo:

sudo ppython install

ppython points to the version of Python used by Panda3D. It is either a symbolic link or a full version of Python, depending on the platform. It is set up by the Panda3D installer.

If you wish to use the ActiveWire card to synchronize multiple computers, and you have the appropriate drivers installed, you may substitute with to also install the ActiveWire interface library. The included version of the ActiveWire library is only supported on Mac OS X.

Snack Library

We have fixed several bugs found in the latest release of the Snack library (the version currently found on the author's website). To download our lab's modified version of Snack, click here. As is the case with PandaEPL and the sample experiment below, we do not provide any guarantees regarding this software.

Sample Experiment

The sample experiment outlined in the forthcoming PandaEPL paper may be downloaded by clicking here (~55mb). Refer to the included README file for instructions.


  • If you receive an error message related to Python not finding pandac, use the command ppython instead of python. It is likely that you have more than one version of Python installed, and Panda3D is configured to work with the other version. ppython always loads the proper version of Python to use with Panda3D.
  • If you are on Microsoft Windows and receive errors related to OpenGL, set Panda3D to use DirectX instead. Open [Panda3D path]\etc\Config.prc and: 1) comment out the line that reads "load-display pandagl" by adding a "#" in front of it, and 2) uncomment the line that reads "load-display pandadx8" by removing the "#".


PandaEPL and the sample experiment are distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the License, or (at your option) any later version.