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.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc final tweaks - updating docs, and slightly changing command line argu… Nov 3, 2016
LICENSE changing test paths and MANIFEST for testing folder Jan 27, 2016

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)

  pip install expfactory

Installation (dev)

  pip install git+git://

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