{"id":30842070,"url":"https://github.com/dfsp-spirit/psynet-adaptivetesting","last_synced_at":"2025-09-06T20:43:44.012Z","repository":{"id":313238001,"uuid":"1048289482","full_name":"dfsp-spirit/psynet-adaptivetesting","owner":"dfsp-spirit","description":"An PsyNet experiment that illustrates integration of psynet with adaptivetesting","archived":false,"fork":false,"pushed_at":"2025-09-04T17:43:47.000Z","size":367,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-04T19:31:36.035Z","etag":null,"topics":["computerized-adaptive-testing","psychology-experiments","psynet"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfsp-spirit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-01T08:09:54.000Z","updated_at":"2025-09-04T17:43:50.000Z","dependencies_parsed_at":"2025-09-04T19:31:38.369Z","dependency_job_id":"99b50e3a-15d5-4e2e-ba4e-8ec6e91f7a5a","html_url":"https://github.com/dfsp-spirit/psynet-adaptivetesting","commit_stats":null,"previous_names":["dfsp-spirit/psynet-adaptivetesting"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dfsp-spirit/psynet-adaptivetesting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfsp-spirit%2Fpsynet-adaptivetesting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfsp-spirit%2Fpsynet-adaptivetesting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfsp-spirit%2Fpsynet-adaptivetesting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfsp-spirit%2Fpsynet-adaptivetesting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfsp-spirit","download_url":"https://codeload.github.com/dfsp-spirit/psynet-adaptivetesting/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfsp-spirit%2Fpsynet-adaptivetesting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273961562,"owners_count":25198597,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computerized-adaptive-testing","psychology-experiments","psynet"],"created_at":"2025-09-06T20:43:43.288Z","updated_at":"2025-09-06T20:43:43.980Z","avatar_url":"https://github.com/dfsp-spirit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# psynet-adaptivetesting\nA minimal PsyNet experiment that illustrates integration of [PsyNet](https://gitlab.com/PsyNetDev/PsyNet) with [adaptivetesting](https://github.com/condecon/adaptivetesting).\n\n\n## Super quick installation instructions if your computer is ready to run PsyNet experiments\n\nIf you already have installed everything needed for running PsyNet and have successfully run other PsyNet experiments, all you have to do is:\n\n```sh\ngit clone https://github.com/dfsp-spirit/psynet-adaptivetesting.git\ncd psynet-adaptivetesting/\npython -m venv venv\nsource venv/bin/activate\npip install -r constraints.txt    # This will get you PsyNet, Dallinger and their dependencies\npip install adaptivetesting\npsynet debug local\n```\n\nThis will start the web server and open the experiment dashboard in Chrome.\n\n\n## Installing PsyNet and preparing to run this experiment\n\nFollow these instructions if you do not have PsyNet installed.\n\nWe highly recommend to run this under Linux and in a Python virtual environment using `venv`. This will spare you the hassle of setting up WSL2 and Docker under Windows. For final testing of your experiment before deploying it, we would recommend to run it in Docker once (again under Linux).\n\n### Quick install instructions for Linux\n\nMake sure you have a recent Python version (e.g., Python 3.12) and the Google Chrome browser installed.\n\nThen get python dev packages, a database server and redis. E.g., for Ubuntu 22.04 LTS:\n\n```sh\nsudo apt install vim python3.11-dev python3.11-venv python3-pip redis-server git libenchant-2-2 postgresql postgresql-contrib libpq-dev unzip curl\n```\n\nFor Ubuntu 24.04 LTS, just replace `python3.11-dev python3.11-venv` with `python3.12-dev python3.12-venv`.\nFor Ubuntu 20.03 LTS, just replace `python3.11-dev python3.11-venv` with `python3.9-dev python3.9-venv`.\n\nThen setup the postgres database:\n\n```sh\nsudo service postgresql start\nsudo -u postgres -i                  # opens a new shell as the database user 'postgres'\ncreateuser -P dallinger --createdb   # add DB user dallinger with createDB permission. When asked for new password, enter 'dallinger' (twice).\ncreatedb -O dallinger dallinger      # create database dallinger owned by user dallinger\ncreatedb -O dallinger dallinger-import   # create database dallinger-import owned by user dallinger\nexit                                     # exits the shell of user postgres, so you are back to your user\nsudo service postgresql reload           # apply configuration\n```\n\nInstall Heroku:\n\n```sh\ncurl https://cli-assets.heroku.com/install-ubuntu.sh | sh\n``\n\nNow install the experiment from this repo, which will install dependencies like the PsyNet and Dallinger python packages:\n\n```sh\ngit clone https://gitlab.gwdg.de/psynet_mpiae/psynet-adaptivetesting.git\ncd psynet-adaptivetesting/\npython -m venv venv\nsource venv/bin/activate\npip install -r constraints.txt    # This will get you PsyNet, Dallinger and their dependencies\n```\n\nNow we install extra dependencies of this experiment, which are not general psynet dependencies:\n\n```sh\npip install adaptivetesting\n```\n\n```sh\npsynet debug local --legacy\n```\n\nNote that the `--legacy` option ensures that Flask binds to all interfaces, in combination with the `host = 0.0.0.0` directive we have in the [config.txt](./config.txt) file in this directory. Without the legacy option, PsyNet will only listen on loopback (IP 127.0.0.1), but then we cannot connect with ipads to our local deployment server. All of this is only needed because we run PsyNet offline on a laptop in schools with no internet.\n\nChrome should open automatically and display the PsyNet overview page. If not, open Chrome manually and connect to [localhost:5000](http://localhost:5000).\n\nSelect the `Development` tab and click `New Participant` to run the experiment.\n\nNote: If you are running an older Linux version and your system Python is very old, you can install [miniconda](https://www.anaconda.com/docs/getting-started/miniconda/install) and use it to get a more recent Python, or use uv.\n\n\n### Other ways of installing\n\nIf you need to run this under Windows, please follow the full PsyNet installation instructions, available in [docs/INSTALL.md](./docs/INSTALL.md). In that case, you will also want to have a look at the list of run commands in [docs/RUN.md](./docs/RUN.md).\n\n## General information on the PsyNet framework\n\nFor more information about PsyNet, see the [documentation website](https://psynetdev.gitlab.io/PsyNet/).\n\n\n## Troubleshooting hints\n\n#### Problem: I am being asked for credentials I don't know when manually connecting to the PsyNet overview page at http://localhost:5000.\n\nSolution: PsyNet uses a user and password to protect its overview page and provides these credentials to Chrome automatically on startup. If you connect manually, you will be asked for this information. The easiest way to get the information is to define it yourself in the config file `~/.dallingerconfig` like this:\n\nCreate the file `~/.dallingerconfig` and put these lines into it (it's in INI format):\n\n```\n[Dashboard]\ndashboard_user = admin\ndashboard_password = 12345\n```\n\nRestart the PsyNet server. Then use these credentials to login when asked.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfsp-spirit%2Fpsynet-adaptivetesting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfsp-spirit%2Fpsynet-adaptivetesting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfsp-spirit%2Fpsynet-adaptivetesting/lists"}