diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:35:56 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:35:56 +0000 |
commit | f0c051cf4d7ff383cb5eaba3a9cd341e750835c2 (patch) | |
tree | aa6600eec9dcf923a4519102c86d8349243191ea | |
parent | 1a2ae9801e46e98bce4f985c596068611eccbfad (diff) |
automatic import of python-alfred3-interact
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-alfred3-interact.spec | 344 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 346 insertions, 0 deletions
@@ -0,0 +1 @@ +/alfred3_interact-0.2.3.tar.gz diff --git a/python-alfred3-interact.spec b/python-alfred3-interact.spec new file mode 100644 index 0000000..7e56800 --- /dev/null +++ b/python-alfred3-interact.spec @@ -0,0 +1,344 @@ +%global _empty_manifest_terminate_build 0 +Name: python-alfred3-interact +Version: 0.2.3 +Release: 1 +Summary: Components for interactive experiments in the alfred3 framework. +License: MIT License +URL: https://github.com/jobrachem/alfred3-interact +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/11/c5/df170636dcb6176e6f31ab7bc8f6405c3ca1c9b7d24972e70704209d84f3/alfred3_interact-0.2.3.tar.gz +BuildArch: noarch + +Requires: python3-alfred3 +Requires: python3-bleach +Requires: python3-packaging +Requires: python3-pytest +Requires: python3-pre-commit +Requires: python3-black +Requires: python3-flake8 +Requires: python3-dotenv +Requires: python3-mongomock +Requires: python3-bs4 +Requires: python3-selenium + +%description +# alfred3-interact: Interactive web-experiments in alfred3 + + [](https://zenodo.org/badge/latestdoi/340368707) [](https://github.com/jobrachem/alfred3-interact/actions/workflows/pytest.yml) [](https://github.com/jobrachem/alfred3-interact/actions/workflows/pre-commit.yml) + +Alfred3-interact is a plugin for [alfred3](https://github.com/ctreffe/alfred). +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.2.0** or newer installed. + +## Installation + +``` +$ pip3 install alfred3_interact +``` + +## Documentation + +Documentation for alfred3_interact is avaialable here: [Link to docs](https://jobrachem.github.io/alfred3-interact/build/html/index.html) + +## Quick example + +Below is an example `script.py` for creating an experiment with an +asynchronous exchange of data between participants matching: + +1. Initialize a group spec and the `alfred3_interact.MatchMaker` during experiment setup +2. Use a `alfred3_interact.WaitingPage` for matchmaking inside its `wait_for` hook method. +3. Find a group via `MatchMaker.match` and bind it to the + experiment plugins object. +4. 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. + +```python +# script.py +import alfred3 as al +import alfred3_interact as ali + +exp = al.Experiment() + +@exp.setup +def setup(exp): + spec = ali.SequentialSpec("role1", "role2", nslots = 10, name="mygroup") + exp.plugins.mm = ali.MatchMaker(spec, exp=exp) + + +@exp.member +class Match(ali.WaitingPage): + + def wait_for(self): + group = self.exp.plugins.mm.match() + self.exp.plugins.group = group + return True + + +@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 +``` + +## Citation + +Alfred3-interact was developed for research at the department for +economic and social psychology, Georg-August-University Göttingen. +**If you are publishing research conducted using alfred3, the +following citation is required:** + +>Brachem, J. & Treffenstädt, C. (2021). Alfred3-interact - Interactive web experiments in alfred3. (Version x.x.x). Göttingen, +Germany: https://doi.org/10.5281/zenodo.1437219 + + + + +%package -n python3-alfred3-interact +Summary: Components for interactive experiments in the alfred3 framework. +Provides: python-alfred3-interact +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-alfred3-interact +# alfred3-interact: Interactive web-experiments in alfred3 + + [](https://zenodo.org/badge/latestdoi/340368707) [](https://github.com/jobrachem/alfred3-interact/actions/workflows/pytest.yml) [](https://github.com/jobrachem/alfred3-interact/actions/workflows/pre-commit.yml) + +Alfred3-interact is a plugin for [alfred3](https://github.com/ctreffe/alfred). +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.2.0** or newer installed. + +## Installation + +``` +$ pip3 install alfred3_interact +``` + +## Documentation + +Documentation for alfred3_interact is avaialable here: [Link to docs](https://jobrachem.github.io/alfred3-interact/build/html/index.html) + +## Quick example + +Below is an example `script.py` for creating an experiment with an +asynchronous exchange of data between participants matching: + +1. Initialize a group spec and the `alfred3_interact.MatchMaker` during experiment setup +2. Use a `alfred3_interact.WaitingPage` for matchmaking inside its `wait_for` hook method. +3. Find a group via `MatchMaker.match` and bind it to the + experiment plugins object. +4. 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. + +```python +# script.py +import alfred3 as al +import alfred3_interact as ali + +exp = al.Experiment() + +@exp.setup +def setup(exp): + spec = ali.SequentialSpec("role1", "role2", nslots = 10, name="mygroup") + exp.plugins.mm = ali.MatchMaker(spec, exp=exp) + + +@exp.member +class Match(ali.WaitingPage): + + def wait_for(self): + group = self.exp.plugins.mm.match() + self.exp.plugins.group = group + return True + + +@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 +``` + +## Citation + +Alfred3-interact was developed for research at the department for +economic and social psychology, Georg-August-University Göttingen. +**If you are publishing research conducted using alfred3, the +following citation is required:** + +>Brachem, J. & Treffenstädt, C. (2021). Alfred3-interact - Interactive web experiments in alfred3. (Version x.x.x). Göttingen, +Germany: https://doi.org/10.5281/zenodo.1437219 + + + + +%package help +Summary: Development documents and examples for alfred3-interact +Provides: python3-alfred3-interact-doc +%description help +# alfred3-interact: Interactive web-experiments in alfred3 + + [](https://zenodo.org/badge/latestdoi/340368707) [](https://github.com/jobrachem/alfred3-interact/actions/workflows/pytest.yml) [](https://github.com/jobrachem/alfred3-interact/actions/workflows/pre-commit.yml) + +Alfred3-interact is a plugin for [alfred3](https://github.com/ctreffe/alfred). +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.2.0** or newer installed. + +## Installation + +``` +$ pip3 install alfred3_interact +``` + +## Documentation + +Documentation for alfred3_interact is avaialable here: [Link to docs](https://jobrachem.github.io/alfred3-interact/build/html/index.html) + +## Quick example + +Below is an example `script.py` for creating an experiment with an +asynchronous exchange of data between participants matching: + +1. Initialize a group spec and the `alfred3_interact.MatchMaker` during experiment setup +2. Use a `alfred3_interact.WaitingPage` for matchmaking inside its `wait_for` hook method. +3. Find a group via `MatchMaker.match` and bind it to the + experiment plugins object. +4. 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. + +```python +# script.py +import alfred3 as al +import alfred3_interact as ali + +exp = al.Experiment() + +@exp.setup +def setup(exp): + spec = ali.SequentialSpec("role1", "role2", nslots = 10, name="mygroup") + exp.plugins.mm = ali.MatchMaker(spec, exp=exp) + + +@exp.member +class Match(ali.WaitingPage): + + def wait_for(self): + group = self.exp.plugins.mm.match() + self.exp.plugins.group = group + return True + + +@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 +``` + +## Citation + +Alfred3-interact was developed for research at the department for +economic and social psychology, Georg-August-University Göttingen. +**If you are publishing research conducted using alfred3, the +following citation is required:** + +>Brachem, J. & Treffenstädt, C. (2021). Alfred3-interact - Interactive web experiments in alfred3. (Version x.x.x). Göttingen, +Germany: https://doi.org/10.5281/zenodo.1437219 + + + + +%prep +%autosetup -n alfred3-interact-0.2.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-alfred3-interact -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.3-1 +- Package Spec generated @@ -0,0 +1 @@ +1b60af3e51d7149721166642d5bc274b alfred3_interact-0.2.3.tar.gz |