Skip to main content

Welcome to alfred3

GitHub zenodo pytest pre-commit

Alfred3 is a package for Python 3 offering an easy way to create computer experiments that meet the highest standards of Open Science. Specifically, experiments created with alfred3 are transparent, accessible, reproducible, and adhere to the FAIR principles for research software. In its core version, alfred3 comes well-equipped for the creation of dynamic content that can be delivered online via a webserver or offline running on local machines. In addition, the alfred3-interact plugin enables users to create interactive group experiments with features such as automated group forming, quick access to members' experiment data, and a prepacked chat functionality.

Further advantages include:

  • All alfred3 scripts are written in Python 3, a very popular open source programming language that is easy to learn and fast to develop with, as it focuses on code readability. Thus, even minimal programming skills are sufficient to create experiments with alfred3 (see the requirement section for more details and suggestions on beginner tutorials).
  • Alfred3 uses the principle of Object-oriented programming (OOP) to maximize code reusability. By simply copying and pasting elements between scripts, users can instantly integrate content from previous experiments with their current project.
  • Experimenters can share experiments created with alfred3 the same way they share code from their data analysis. In addition to highly reusable code, transparency and ease of sharing are two key advantages of using script-based experimental software.
  • Using open source software is a core principle of Open Science and both Python 3 and alfred3 are published under permissive open source licenses. Researchers will not face the hurdles associated with closed source software when trying to reproduce an alfred3 experiment (see The Open Science Training Handbook for more information on the importance of using open source research software for your experiments and data analyses).
  • Online experiments written in alfred3 support all types of mobile devices through a responsive interface, making them suitable for a wide range of applications and settings (e.g., laboratory experiments where users are invited to bring their own devices, or surveying passers-py with tablets in public spaces)
  • Alfred3 is optimized for the collection of personal data in full compliance with both the GDPR and official German guidelines on data management in psychological science (English version | German version). The core version of alfred3 already includes data encryption and decryption methods as well as unlinked storage options for personal or sensitive data (meaning that you can store personal data separately without the possibility of linking it back to experimental data).

Installation

If you have Python 3.7 or newer installed, just install alfred3 via pip

$ pip3 install alfred3

Documentation

Documentation and tutorials for alfred3's most important features is available here: Link to docs

Questions and Answers

We use GitHub Discussions. You can ask questions, share ideas, and showcase your work there. Do not hesitate to ask!

A "Hello, world" experiment

Creating a hello-world experiment is as easy as writing this script.py file. You can even do it in a simple text editor. Note that the file must be named script.py

import alfred3 as al
exp = al.Experiment()
exp += al.Page("Hello, world!", name="hello_world")

To run the script, open a terminal and change the working directory to your experiment directory:

$ cd path/to/experiment

Next, simply execute the following command in the terminal::

$ alfred3 run

If you have Google Chrome installed on your machine, a browser window with the experiment opens automatically. Otherwise, open any webbrowser and visit http://127.0.0.1:5000/start to start the experiment.

Of course, this "Hello, world" experiment does not contain much content: Only a single page with a heading. To learn how to add content to an experiment, visit our tutorials in the alfred3 documentation.

Citation

If you are publishing research conducted using alfred3, the following citation is required:

Treffenstaedt, C., Brachem, J., & Wiemann, P. (2021). Alfred3 - A library for rapid experiment development (Version x.x.x). Göttingen, Germany: https://doi.org/10.5281/zenodo.1437219

If you want to use alfred3 and need more information, don't hesitate to contact us via alfred@psych.uni-goettingen.de.

alfred3 Mailing List

If you want to stay up to date with current developments, you can join our mailing list. We use this list to announce new releases and spread important information concerning the use of Alfred. You can expect to receive at most one mail per month.

Metadata

Release files for alfred3 3.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for alfred3 3.0.2
File Size Uploaded Provenance Actions
alfred3-3.0.2.tar.gz 14.8 MB Without provenance Details for alfred3-3.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for alfred3 3.0.2
File Interpreter ABI Platform Actions
alfred3-3.0.2-py3-none-any.whl Python 3 none any Details for alfred3-3.0.2-py3-none-any.whl

Total release size: 15.8 MB

Release files / alfred3-3.0.2.tar.gz

Download URL alfred3-3.0.2.tar.gz
Size 14.8 MB
Tags Source
SHA-256 checksum
How to use checksums
c70c1191ba5b150b15dd53debd8fec319313fa68e467ecf529039e6a297b7d4c
BLAKE2b-256 checksum
How to use checksums
d2f2ea6850fd0bdf568e2d36f820eca5fb6cf42488144f056de13c7e053671c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / alfred3-3.0.2-py3-none-any.whl

Download URL alfred3-3.0.2-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
defd4a0b0ff3baa60a0d0d1787230261638ce772db1d770a396a5834b6500c00
BLAKE2b-256 checksum
How to use checksums
f5de196a3ebfe86c2f4a6b0f3e22bfd6831b680bb1cb45c003e43a66ed88f1e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for alfred3 3.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page