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— pytestpublish— 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.