Python library for cognitive and neuroscientific experiments.

Expyriment is an open-source and platform independent light-weight Python library for designing and conducting timing-critical behavioural and neuroimaging experiments. The major goal is to provide a well-structured Python library for a script-based experiment development with a high priority on the readability of the resulting programme code. Due to the availability of an Android runtime environment, Expyriment is also suitable for the development of experiments running on tablet PCs or smart-phones.

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.

Website: http://www.expyriment.org

To cite Expyriment in publications, please refer to the following article:

Krause, F., & Lindemann, O. (2014). Expyriment: A Python library for cognitive and neuroscientific experiments. Behavior Research Methods, 46(2), 416-428.

see http://dx.doi.org/10.3758/s13428-013-0390-6



Return version information about Expyriment and Python.

Returns:version_info : str


For more detailed information see expyriment.get_system_info().


Show the Expyriment documentation.


docu_type : int

documentation type. Three options are available:
  1. Open online documentation
  2. Open online API reference
  3. Open API reference and search tool

Print system information to standard out and return as a dictionary.


as_string : boolean, optional

Print as string instead of dict (default = False)


Returns the fingerprint, that is, the first six places of the secure hash (sha1) of the main file of the current experiment.


hash: string or None :

first six places of the experiment secure hash or None, if no main file can be found


Fingerprints of experiments help to ensure that the correct version is running in the lab. Hash codes are written to all output files and printed in the command line output. If you want to check post hoc the version of your experiment, create the secure hash (sha1) of your expyriment .py-file and compare the first six place with the code in the output file.