Releases: jobrachem/alfred3-interact
alfred3_interact v0.1.4
(Combined release)
alfred3-interact v0.1.4 (Released 2021-05-18)
Fixed v0.1.4
- Version v0.1.3 introduced a bug on the
MatchingPage
: The page did not
correctly hide its navigation buttons. This update fixes the bug.
alfred3-interact v0.1.3 (Released 2021-05-18)
Changed v0.1.3
alfred3-interact v0.1.2
Added
alfred3_interact.Chat
gains the new parameter you_label.alfred3_interact.WaitingPage
gains the parameters wait_timeout_page
and wait_exception_page, thereby allowing users to customize the
pages shown to participants if the experiment is aborted while waiting.
Fixed
- Decryption of loaded messages in chat element
- In some corner cases, the chat element displayed the same message
twice. This release fixes this bug.
alfred3 v0.1.1
alfred3_interact v0.1.1 (Released 2021-04-21)
Fixed
- The HTML and JavaScript templates used in the package were not correctly
added to the package, so that the package distributed via pypi did
not work. This release fixes that problem.
alfred3-interact v0.1.0
alfred3-interact: Interactive web-experiments in alfred3
Alfred3-interact is a plugin for alfred3.
It allows for the creation of interactive web experiments, predominantly
in the social sciences. As prerequisites,
you need to have Python 3.7 or newer and alfred3 v2.0 or newer installed.
Installation
$ pip3 install alfred3_interact
Documentation
Documentation for alfred3_interact is avaialable here: Link to docs
Quick example
Below is an example script.py
for creating an experiment with an
asynchronous exchange of data between participants via stepwise matching:
- Initialize the
MatchMaker
during experiment setup - Find a group via
MatchMaker.match_stepwise
and bind it to the
experiment plugins object. - Now the group object is available in sections, pages, and elements
through the experiment session object. You can use it to access data
from other participants in the same group.
Note: While match_stepwise
has its main purpose in asynchronous interactive
experiments, you can still include WaitingPage
s to synchronize group
members. Refer to the documentation for the WaitingPage class for more
guidance.
# script.py
import alfred3 as al
import alfred3_interact as ali
exp = al.Experiment()
@exp.setup
def setup(exp):
mm = ali.MatchMaker("role1", "role2", exp=exp)
exp.plugins.group = mm.match_stepwise()
@exp.member
class Success(al.Page):
title = "Match successful"
def on_exp_access(self):
group = self.exp.plugins.group
txt = f"You have successfully matched to role: {group.me.role}"
self += al.Text(txt, align="center")
if __name__ == "__main__":
exp.run()
The demo experiment can be started by executing the following command
from the experiment directory (i.e. the directory in which you placed
the script.py
):
$ alfred3 run