Configuration¶
The Dallinger configuration
module provides tools for reading and writing
configuration parameters that control the behavior of an experiment. To use the
configuration, first import the module and get the configuration object:
import dallinger
config = dallinger.config.get_config()
You can then get and set parameters:
config.get("duration")
config.set("duration", 0.50)
When retrieving a configuration parameter, Dallinger will look for the parameter
first among environment variables, then in a config.txt
in the experiment
directory, and then in the .dallingerconfig
file, using whichever value
is found first. If the parameter is not found, Dallinger will use the default.
Built-in configuration¶
Built-in configuration parameters include:
mode
- Run the experiment in this mode. Options include
debug
(local testing),sandbox
(MTurk sandbox), andlive
(MTurk). title
- Title of the HIT on Amazon Mechanical Turk.
description
- Description of the HIT on Amazon Mechanical Turk.
keywords
- Comma-separated list of keywords to use on Amazon Mechanical Turk.
lifetime
- How long in hours that your HIT remains visible to workers.
duration
- How long in hours participants have until the HIT will time out.
us_only
- A boolean that control whether this HIT is available only to MTurk workers in the U.S.
base_payment
- Base payment in U.S. dollars.
approve_requirement
- The percentage of past MTurk HITs that must have been approved for a worker to qualify to participate in your experiment. 1-100.
contact_email_on_error
unicode- Email address displayed when there is an error.
auto_recruit
- Whether recruitment should be automatic.
group_name
- A string. Unicode string.
loglevel
- A number between 0 and 4 that controls the verbosity of logs, from
debug
tocritical
. organization_name
[string]- Identifies your institution, business, or organization.
browser_exclude_rule
[comma separated string]- A set of rules you can apply to prevent participants with unsupported web browsers from participating in your experiment.
database_url
- URI of the Postgres database.
database_size
- Size of the database on Heroku. See Heroku Postgres plans.
dyno_type
- Heroku dyno type to use. See Heroku dynos types.
num_dynos_web
- Number of Heroku dynos to use for processing incoming HTTP requests. It is recommended that you use at least two.
num_dynos_worker
- Number of Heroku dynos to use for performing other computations.
host
- IP address of the host.
port
- Port of the host.
notification_url
- URL where notifications are sent. This should not be set manually.
clock_on
- If the clock process is on, it will perform a series of checks that ensure the integrity of the database.
logfile
- Where to write logs.
aws_access_key_id
- AWS access key ID.
aws_secret_access_key
- AWS access key secret.
aws_region
- AWS region to use. Defaults to
us-east-1
. dallinger_email_address
- A Gmail address for use by Dallinger to send status emails.
dallinger_email_password
- Password for the aforementioned Gmail address.
heroku_team
- The name of the Heroku team to which all applications will be assigned. This is useful for centralized billing. Note, however, that it will prevent you from using free-tier dynos.
whimsical
- What’s life without whimsy?