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.0.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.0-py3-none-any.whl (145.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: psynet_step-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 9ddce9ac718e704f9675296b24739cf10cc3254416e8e9554a40d108646e8421
MD5 3c86f88bdc726189b1944a6ac35506f7
BLAKE2b-256 16e05c723472e39cd5a9a54c30f5e622a7a5105c1834cf203d5b5fcca0a4614e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psynet_step-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3da3ca9fa6471cb9684528299d405e180a6069daf28de481bd8a0f060aa99558
MD5 5d9da4b4f15f6a2e13aa489845368888
BLAKE2b-256 50f6940ef3830a0253e8917096591a0ac8a231953b2d350fa69f141772b2a22c

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