Dallinger is a tool to automate experiments that use combinations of automated bots and human subjects recruited on platforms like Mechanical Turk and Prolific.
Dallinger allows crowd sourced experiments to be abstracted into single function calls that can be inserted into higher-order algorithms. It fully automates the process of recruiting participants, obtaining informed consent, arranging participants into a network, running the experiment, coordinating communication, recording and managing the data, and paying the participants.
The Dallinger technology stack consists of: Python, Redis, Web Sockets, Heroku, AWS, Mechanical Turk, Prolific, boto, Flask, PostgreSQL, SQLAlchemy, Gunicorn, Pytest and gevent among others.
These documentation topics are intended to assist people who are attempting to launch experiments and analyse their data. They cover the basics of installing and setting up Dallinger, as well as use of the command line tools.
- Setting Up AWS, Mechanical Turk, and Heroku
- Demoing Dallinger
- Command-Line Utility
- Email Notification Setup
- Running Experiments Programmatically
- Monitoring a Live Experiment
- Experiment Data
- Viewing the PostgreSQL Database
- Running bots as participants
- Registration on the OSF
Many Dallinger users may not have lots of programming experience, and might want a bit more information about the inner workings of Dallinger in a beginner-friendly format. Thomas Morgan has started such a project: “Dallinger for Programming Novices”. Every Dallinger user is encouraged to take a look at this guide, which is a nice complement to the documentation presented here.
Several demos demonstrate Dallinger in action:
Alternative Environments Documentation
We are currently experimenting with several other development and deployment environments for Dallinger, such as Docker and Vagrant. These potentially offer various advantages, such as better cross-platform compatibility, enhanced reproducibility, and so on. The following documentation topics describe some of these approaches. However, this work is still experimental and so the documentation is not complete yet.
Core Contribution Documentation
This section covers extra topics relevant to those wishing to contribute to the development of Dallinger itself. This is not needed in order to develop new experiments. Follow the Developer Installation process from the previous section to get started.