The folders in this repository contain uproot examples.
This repository is also an uproot project. That means: you can clone it and run uv run uproot run (or just uproot run, depending on your setup) to enjoy these example apps all at once from the comfort of your home.
| App | Description | Difficulty |
|---|---|---|
| barrier | Force players to stay on a page | Easy |
| big5_short | Short Big 5 questionnaire with scoring | Medium |
| beauty_contest | Beauty contest / guessing game (Nagel, 1995) | Easy |
| chat | Chat | Easy |
| continuous | Do something in intervals (background tasks) | Medium |
| counter† | Counter with live updates | Easy |
| counter_alpine† | Counter with live updates (Alpine.js) | Easy |
| dictator_game | Standard dictator game | Easy |
| double_auction | Double auction (like Smith, 1962) | Advanced |
| drawing_board | Session-level drawing board | Medium |
| dropouts | Handling dropouts | Easy |
| encryption_task | Encryption task (Erkal et al., 2011) | Medium |
| focal_point | Focal point game (like Schelling, 1957) | Easy |
| gift_exchange_game | Gift exchange game (Fehr et al., 1993) | Easy |
| grouping_test† | Custom group creation | Easy |
| many_fields† | Benchmark: insert many fields | Easy |
| mpl | Multiple price list | Medium |
| minimum_effort_game | Minimum effort / weakest link game (Van Huyck et al., 1990) | Easy |
| notifications† | Test notifications between players | Easy |
| observed_diary | Observed diary/surveillance game | Medium |
| payment_data | Collecting payment data | Easy |
| ping† | WebSocket round-trip time benchmark | Easy |
| prisoners_dilemma | Standard prisoner's dilemma | Easy |
| prisoners_dilemma_apply | Standard prisoner's dilemma | Medium |
| prisoners_dilemma_repeated | Repeated prisoner's dilemma (history table and digest) | Easy |
| public_goods_game | Standard public goods game | Easy |
| quiz | Quiz/comprehension check | Easy |
| randomize_apps | Randomizing app order | Easy |
| randomize_pages | Randomizing page order | Easy |
| randomize_pages_allow_back | Randomizing page order and allow going back | Easy |
| read_settings† | Read session settings | Easy |
| rounds | Using rounds (history table) | Easy |
| rounds_nested† | Using nested rounds | Easy |
| student_id | Have participants enter their Student ID | Easy |
| sumhunt | Real effort task about finding sums in matrices | Medium |
| survey | Survey with follow-up verification | Easy |
| timeout_multipage | Timeout that spans multiple pages | Easy |
| trigger_jserrors† | Test JavaScript error handling | Easy |
| twobytwo | Generic 2×2 game with simulator | Medium |
| trust_game | Trust game (Berg et al., 1995) | Easy |
| ultimatum_game | Standard ultimatum game | Easy |
| upload | Uploading files | Easy |
†Apps primarily for internal testing and benchmarking, but useful as simple examples of individual uproot features.
| Directory | Description |
|---|---|
| progress_bar | Automatic progress bar |
| start_button | Start button |
These examples are licensed under the 0BSD License (Zero-Clause BSD).
You are completely free to do anything with this code. No requirements, no attribution needed, no obligations of any kind. There is no warranty.
By contributing to this repository, your contributions are licensed under 0BSD, granting the same unlimited freedom to everyone.
See LICENSE for the complete 0BSD license text.