Skip to main content

A framework that allows for the development of custom online experiments and surveys.

Project description

Intended Uses

Bride of Frankensystem (BOF or BOFS) is intended to be used by developers to deploy custom-developed experiments online. It provides a variety of solutions to common problems associated with online experiments while being easily extended in a way that minimizes code duplication and encourages code reuse. Its design focuses on flexibility rather than providing concrete solutions to every scenario, and so is targeted primarily towards software developers while still being accessible for non-developers for many simple use-cases.

BOF is built using Flask and is intended to be used as a Python library. Because it is built with Flask, all Flask extensions and features are supported, and it is relatively straightforward to extend the project with your own custom web pages and tasks.

If you use this for your research, please cite it! DOI

Features

BOF includes a number of features relating to deploying online experiments

  • Built-in consent page in which the text can be easily configured.
  • Automatic random assignment of participants to various conditions.
  • Define the experiment's flow in terms of URLs.
  • Define questionnaires using a custom JSON structure.
  • Create your own custom web pages (using Python and Flask) to embed custom tasks.
  • Easily embed your own custom instructional pages without writing Python code.
  • Admin panel to track participants' progress and export data.

Dependencies

BOF requires Python 3.9+, along with the following Python packages.

  • flask - The web framework that BOF is based off of.
  • sqlalchemy - An object-relational manager that is used for database table definitions and query access.
  • flask-sqlalchemy - A bridge between Flask and SQLAlchemy.
  • flask-compressed - To support the compressed files that Unity WebGL builds use.
  • eventlet - This is used as the production (live) web server, as an alternative to Flask's built in web server or the Apache web server.
  • toml - The configuration files use the toml format.
  • crawlerdetect - To detect web crawlers so that they don't get counted as actual participants.
  • pandas - Used to process data for the export and for the results preview.

Installing and Running BOFS

Please refer to the installation instructions in the documentation.

Further Help

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bride_of_frankensystem-2.0.0.9.tar.gz (392.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bride_of_frankensystem-2.0.0.9-py3-none-any.whl (502.2 kB view details)

Uploaded Python 3

File details

Details for the file bride_of_frankensystem-2.0.0.9.tar.gz.

File metadata

  • Download URL: bride_of_frankensystem-2.0.0.9.tar.gz
  • Upload date:
  • Size: 392.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for bride_of_frankensystem-2.0.0.9.tar.gz
Algorithm Hash digest
SHA256 fcaaa2e475b91641da5c0996372094fcf82b66aae970a4da83429da73b3d9b6a
MD5 cbb739fce8b2fcbed21a91a0a4b1968a
BLAKE2b-256 bb7a17d67de11fe4aa3f6d8e60fb51be2d12ef2038a473014f938799482129bd

See more details on using hashes here.

File details

Details for the file bride_of_frankensystem-2.0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for bride_of_frankensystem-2.0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8df13d3287ce771cf7b3f489ec5193da575fd117e5a3645c49bd66b67bff3046
MD5 af96a0f3195ca4b6ae1d6e2550df59df
BLAKE2b-256 83998725bfaec4f553c2ef41cad7f1ff1ef69ef40f450bdeefaf4c56dd4a7135

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page