PsiTurk is an open platform for conducting custom behvioral experiments on Amazon's Mechanical Turk.
It is intended to provide most of the backend machinery necessary to run your experiment. It uses AMT's External Question HIT type, meaning that you can collect data using any website. As long as you can turn your experiment into a website, you can run it with PsiTurk!
You will need to use a relatively recent version of Python 2 with the following modules installed:
- Flask --- A lightweight web framework.
- SQLAlchemy --- A powerful SQL abstraction layer.
You will also need to run this from a web server connected to the internet, and you will need a database compatible with SQL Alchemy (MySQL, SQLite, or PostgreSQL would all work).
Just follow these directions to get started:
-
Installing the dependencies, including the database.
-
Sign up for Mechanical Turk, including an AWS account.
-
Move the config file from
config.txt.example
toconfig.txt
. Update it with your Amazon secret code and a correct URL to your database (the default database URL is set up for MAMP on OSX). -
Making sure that the configuration file is set up to use the Amazon sandbox, issue the following commands from the PsiTurk root folder:
python mturk/createHIT.py # To post a HIT to the sandbox python app.py # To start the web server
-
You should be ready to go! Point your browser to the worker sandbox and try to find your HIT!
You are welcome to use this code for personal or academic uses. If you fork, please cite the authors (Todd Gureckis and John McDonnell).