oTree
Installing oTree
About Python
Tutorial
Conceptual overview
OTAI
Models
Pages
Templates
Forms
Multiplayer games
Apps & rounds
Treatments
Timeouts
Bots
Live pages
Server setup
Admin
Rooms
Currency and Decimal
MTurk & Prolific
Miscellaneous
REST
Localization
Tips and tricks
Advanced features
Bots: advanced features
oTree Lite
Version history
The new no-self format
oTree
Miscellaneous
View page source
Miscellaneous
REST
Setup
“oTree version” endpoint
“Session configs” endpoint
“Rooms” endpoint
“Create sessions” endpoint
“Get session data” endpoint
“Session vars” endpoint
“Participant vars” endpoint
“Participant vars for room” endpoint
Authentication
Demo & testing
Localization
Changing the language setting
Writing your app in multiple languages
Tips and tricks
Preventing code duplication
Improving code performance
Use BooleanField instead of StringField, where possible
field_maybe_none
Advanced features
ExtraModel
Reading CSV files
Templates
Static files
Wait pages
Currency
Bots: advanced features
Command line bots
Command-line browser bots
Test cases
error_fields
Misc note
Live pages
oTree Lite
How can I ensure I stay on oTree 3.x?
Upgrading
Version history
oTree 6.0
oTree 5.10
oTree 5.9
oTree 5.8
oTree 5.6
oTree 5.4
oTree 5.3
oTree 5.2
oTree 5.1
oTree 5.0
The new no-self format
About the new format
How does this affect you?
FAQ
How to use it
The “otree remove_self” command
Misc notes