psychopy.iohub Specific Requirements

Computer Specifications

The design / requirements of your experiment itself can obviously influence what the minimum computer specification should be to provide good timing / performance.

The dual process design when running using psychopy.iohub also influences the minimum suggested specifications as follows:

  • Intel i5 or i7 CPU. A minimum of two CPU cores is needed.

  • 8 GB of RAM

  • Windows 7 +, OS X 10.7.5 +, or Linux Kernel 2.6 +

Please see the Recommended hardware section for further information that applies to PsychoPy in general.

Usage Considerations

When using psychopy.iohub, the following constrains should be noted:

  1. The pyglet graphics backend must be used; pygame is not supported.

  2. ioHub devices that report position data use the unit type defined by the PsychoPy Window. However, position data is reported using the full screen area and size the window was created in. Therefore, for accurate window position reporting, the PsychoPy window must be made full screen.

  3. On macOS, Assistive Device support must be enabled when using psychopy.iohub.

    • For OS X 10.7 - 10.8.5, instructions can be found here.

    • For OS X 10.9 +, the program being used to start your experiment script must be specifically authorized. Example instructions on authorizing an OS X 10.9 + app can be viewed here.

Software Requirements

When running PsychoPy using the macOS or Windows standalone distribution, all the necessary python package dependencies have already been installed, so the rest of this section can be skipped.


Hardware specific software may need to be installed depending on the device being used. See the documentation page for the specific device hardware in question for further details.

If psychopy.iohub is being manually installed, first ensure the python packages listed in the dependencies section of the manual are installed.

psychopy.iohub requires the following extra dependencies to be installed:

  1. psutil (version 1.2 +) A cross-platform process and system utilities module for Python.

  2. msgpack It’s like JSON. but fast and small.

  3. greenlet The greenlet package is a spin-off of Stackless, a version of CPython that supports micro-threads called “tasklets”.

  4. gevent (version 1.0 or greater)** A coroutine-based Python networking library.

  5. numexpr Fast numerical array expression evaluator for Python and NumPy.

  6. pytables PyTables is a package for managing hierarchical datasets.

  7. pyYAML PyYAML is a YAML parser and emitter for Python.

Windows installations only
  1. pyHook Python wrapper for global input hooks in Windows.

Linux installations only
  1. python-xlib The Python X11R6 client-side implementation.

OSX installations only
  1. pyobjc : A Python ObjectiveC binding.

Back to top