Skip to main content

STEP – Sequential Transmission Evaluation Pipeline for PsyNet experiments

Project description

STEP — Sequential Transmission Evaluation Pipeline

If you use STEP, please cite:

Lee, H., Çelen, E., Harrison, P. M. C., Anglada-Tort, M., Rijn, P. van, Park, M., et al. (2025). GlobalMood: A cross-cultural benchmark for music emotion recognition. In Proceedings of the International Society for Music Information Retrieval Conference (ISMIR). https://doi.org/10.48550/arXiv.2505.09539

STEP is a PsyNet plugin for running sequential transmission evaluation experiments online. Participants view stimuli (images, audio, video), rate existing tags with stars, flag irrelevant tags, and add new ones. Tags accumulate and converge across participants through an imitation-chain design.

The package ships with:

  • step: the core Python module (trial makers, pages, controls, stimulus classes, i18n support for 36 languages)
  • demos/STEP-Tag: a working PsyNet demo experiment

Quick Links

Installation

From PyPI

pip install psynet-step

The Python import name is step:

from step import StepTag, urls_to_start_nodes

From source (editable)

git clone https://github.com/pmcharrison/STEP.git
cd STEP
pip install -e .

Optional extras

  • psynet — pulls in PsyNet and Dallinger (required at runtime; already present in any PsyNet experiment environment)
  • dev — pytest
  • publish — build, twine

Install an extra with, e.g.:

pip install -e ".[dev]"

Usage

from step import StepTag, urls_to_start_nodes
import psynet.experiment
from psynet.timeline import Timeline

class Exp(psynet.experiment.Experiment):
    timeline = Timeline(
        StepTag(
            start_nodes=urls_to_start_nodes(
                [
                    "https://mini-kinetics-psy.s3.amazonaws.com/emotional_prosody/03-01-08-02-02-02-24.wav",
                    "https://s3.amazonaws.com/generalization-datasets/vegetables/images/thaieggplant3.jpg",
                    "https://mini-kinetics-psy.s3.amazonaws.com/mini-kinetics-validation/cut_videos/[zumba]_dLE5YOEqBGs.mp4",
                ]
            ),
            expected_trials_per_participant=2,
            max_iterations=5,
        ),
    )

In your experiment's requirements.txt:

psynet-step==0.1.0

Running the Demo

cd demos/STEP-Tag
pip install -r constraints.txt
psynet debug local

License

MIT License

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

psynet_step-0.1.0rc0.tar.gz (98.3 kB view details)

Uploaded Source

Built Distribution

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

psynet_step-0.1.0rc0-py3-none-any.whl (145.0 kB view details)

Uploaded Python 3

File details

Details for the file psynet_step-0.1.0rc0.tar.gz.

File metadata

  • Download URL: psynet_step-0.1.0rc0.tar.gz
  • Upload date:
  • Size: 98.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for psynet_step-0.1.0rc0.tar.gz
Algorithm Hash digest
SHA256 2645508e7b0747634e70c0a591395e03cb8fcef0f697fb1b480dc2fb1142a866
MD5 539ef0c7d20f9882e4d4a8b90b656296
BLAKE2b-256 fe1e237657ddbb1e4dbb84d47899ef36d4c9914c3844f0f383747d5e1c61a7a3

See more details on using hashes here.

File details

Details for the file psynet_step-0.1.0rc0-py3-none-any.whl.

File metadata

  • Download URL: psynet_step-0.1.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 145.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for psynet_step-0.1.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 68507f0f22f5169817fe85d0e73ec0a25b1dfaded8a4ebdde7928794f6a7434a
MD5 ea404aa53bf47cb5b012fa98bf51d289
BLAKE2b-256 61d241a35d2427d5df40c897c6e1a445ebd940cccd619f31eb05839b2e7c6a45

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