Skip to content

goxpyriment

goxpyriment is a high-level Go framework for building behavioral and psychological experiments.

Features

  1. Zero-dependency deployment. Your experiments compile to standalone executables.
  2. Timing precision. The stimulus loop runs VSYNC-locked with GC pauses disabled, giving sub-millisecond frame jitter on typical hardware (VSYNC can be disabled to support Variable Refresh Rate monitors).
  3. AI-friendly API. The API is well suited to "vibe-coding": after cloning the repository, describe your paradigm in plain language to Claude, Gemini, or ChatGPT and try the generated code. Given the examples and the constraints afforded by the framework, the experiment is likely to work as expected (but must be checked, of course).

Documentation

Document PDF
Presentation short paper
Getting Started Tutorials
Installation Install Go and build the examples
Creating Your Own Experiment Beginner guide: new project, embedding assets, sharing binaries
User Manual Core concepts explained in depth
Migration Guide Coming from Expyriment, PsychoPy, or Psychtoolbox?
API Reference Complete function and type reference
Gallery of Examples Ready-to-run experiments and demos
Timing-Tests Check the timing of your computer

Support:

Note: If you are looking for a simpler, no-code experiment generator, check out Gostim2.


Quick Start

  1. Install Go and build the bundled examples.
  2. Create your own experiment — a step-by-step beginner guide from an empty folder to a shareable executable.
  3. Getting Started walks through worked tutorials (trials, data logging, RSVP, reaction times).

Ready-to-run experiments

Pre-built binaries (ready-to run apps) of many experiments are available for Windows, macOS, and Linux.


Background

Goxpyriment relies on libsdl via the go-sdl3 bindings.

It was inspired by expyriment.org, a lightweight Python library for cognitive and neuroscientific experiments (Krause & Lindemann, 2014. Behavior Research Methods, 46(2), 416–428. https://doi.org/10.3758/s13428-013-0390-6). The API should feel familiar to expyriment users.


License & citation

GNU GPL v3 — see LICENSE.

Please cite as:

Christophe Pallier (2026) chrplr/goxpyriment. Zenodo. https://doi.org/10.5281/zenodo.19200598

Christophe Pallier, 2026.