Skip to main content

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

Metadata

Release files for psynet-step 0.1.0

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

Source distribution (sdist)

Source distribution for psynet-step 0.1.0
File Size Uploaded Provenance Actions
psynet_step-0.1.0.tar.gz 98.3 kB Without provenance Details for psynet_step-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for psynet-step 0.1.0
File Interpreter ABI Platform Actions
psynet_step-0.1.0-py3-none-any.whl Python 3 none any Details for psynet_step-0.1.0-py3-none-any.whl

Total release size: 243.3 kB

Release files / psynet_step-0.1.0.tar.gz

Download URL psynet_step-0.1.0.tar.gz
Size 98.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9ddce9ac718e704f9675296b24739cf10cc3254416e8e9554a40d108646e8421
BLAKE2b-256 checksum
How to use checksums
16e05c723472e39cd5a9a54c30f5e622a7a5105c1834cf203d5b5fcca0a4614e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / psynet_step-0.1.0-py3-none-any.whl

Download URL psynet_step-0.1.0-py3-none-any.whl
Size 145.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3da3ca9fa6471cb9684528299d405e180a6069daf28de481bd8a0f060aa99558
BLAKE2b-256 checksum
How to use checksums
50f6940ef3830a0253e8917096591a0ac8a231953b2d350fa69f141772b2a22c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for psynet-step 0.1.0

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.

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