The Team!

PsychoPy is an Open Source project, the users have access to the code and can contribute at any time! That kind of means the team is technically huge!


In terms of the “core team” , thanks to Pavlovia users and grants we can now fund staff to work on developing the tools and supporting users.


About the workshop

We can’t teach you all of PsychoPy. This intro is aimed to give you a basic intro and inspire ideas on what’s possible.

Getting to know PsychoPy

What is PsychoPy?

It’s Psychology software in Python

PsychoPy is a Python library, an script editor (Coder) an application with a GUI (Builder)

It is, itself, entirely written in Python
  • 2002-2003: Jon began work on this for his own lab (visual neruoscience)

  • 2003-2017: a purely volunteer-driven, evenings and weekends project

  • 2017-now: still open source and free to install but with professional support (funded by grants and Pavlovia)

Goal of PsychoPy

The aim is to enable scientists to run as wide a range of experiments as possible, as easily as possible, with standard computer hardware.

A single piece of software:
  • precise enough for psychophysics

  • intuitive enough for undergraduate psychology

  • flexible enough for everything else

  • capable of running studies in the lab or online

Choice of interface

It’s hard to make something easy enough for undergrads and novices but flexible enough for everything else.

PsychoPy provides two main options, coder view and builder view. But you can also use code inside builder view - which is what we recommend.


The Coder view is used to create experiments from Python scripts


The Builder view is used to create experiments visually

Why do people Code?

  • To implement more complex experimental designs/procedures(?)

  • To know exactly what the code is doing(?)

  • To break out of the “trials/blocks” structure or drawing loop cycle

  • To program things that aren’t psychology experiments. (e.g. stats, simulations, analyses etc.)

Why do people Build?

  • It is far faster to develop experiments!

  • You can still understand (and build on) your experiment next year

  • You’ll probably have fewer bugs

  • Code Components can be used in nearly all places where Builder isn’t enough

  • Your Builder experiment will also compile to a web (JS/HTML) experiment!

What do we do?

Our experiments are almost always in Builder, with added Code Components. I don’t ever break out and switch to pure code.

I do use code for other things, like making my ‘conditions’ .csv files, making stimuli and customizing the experiments.

PsychoPy versions

PsychoPy is changing rapidly, especially now it has full-time programmers

You don’t want your study to change part-way through, but you do want to be able to update your software

PsychoPy experiments have a setting called useVersion that works for Builder/Python/JS experiments. Ideally:

  • Install the latest stable version

  • Develop your experiment in that

  • When you start running “for real” set the useVersion to the specific version you tested on

Going further

Builder interface:
Python programming (for experimental psych) but these are a bit outdated:

So, let’s go on and learn some Building better experiments

Back to top