Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The Experiment Factory Python

Circle CI

LEGACY This repository is no longer actively maintained, and exists to support current implementations. We encourage users to create reproducible experiment containers with the redone expfactory software.

Python module for managing expriment-factory experiments, surveys, games, a psiturk battery, a docker deployment, and a virtual machine to host the compilation of these things. You can use the functions to control these components, or just install the module and run to create an entire experiment using a web interface.

The Experiment Factory code is licensed under the MIT open source license, which is a highly permissive license that places few limits upon reuse. This ensures that the code will be usable by the greatest number of researchers, in both academia and industry.

Installation (current)

# python 3
pip install expfactory==2.5.47

# python 2
pip install expfactory==2.5.46

# version 2 (non legacy)
pip install expfactory

Quick start

Installation will place an executable, expfactory in your bin folder.

Run your local experiment

You can run an expfactory-experiments folder as follows:

  cd test_task
  expfactory --preview

Run paradigms locally

  expfactory --run --experiments stroop,n_back
  expfactory --run --survey bis11_survey
  expfactory --run --game bridge_game

Validate a local experiment

  cd test_task
  expfactory --validate

Test with experiment robot

  cd test_task
  expfactory --test

Interactive generation of psiturk battery

To run the executable to open up a web interface to design your experiment:


The web interface includes the following:

  • custom generation of battery (local folder, AWS virtual machine, or virtual machine)
  • serves API (JSON) with experiment details
  • complete documentation

Static deployment with your own mysql database

We have recently added support for generating a local battery that will work with your own mysql database. See server/mysql for details.

Functions Provided

You can also use the library as a module, and import expfactory functions into your application. Please see our documentation for details


python module for managing experiment factory javascript experiment files, batteries to deploy them to (eg, psiturk), and virtual machines to host the compilation of those things.





No releases published


No packages published