Previous topic

pylink (SR research)

Next topic

psychopy.logging - control what gets logged

This Page

Quick links

psychopy.info - functions for getting information about the system

Fetching data about the system

class psychopy.info.RunTimeInfo(author=None, version=None, win=None, refreshTest='grating', userProcsDetailed=False, verbose=False, randomSeed=None)

Returns a snapshot of your configuration at run-time, for immediate or archival use.

Returns a dict-like object with info about PsychoPy, your experiment script, the system & OS, your window and monitor settings (if any), python & packages, and openGL.

If you want to skip testing the refresh rate, use ‘refreshTest=None’

Example usage: see runtimeInfo.py in coder demos.

Author :
  • 2010 written by Jeremy Gray, with input from Jon Peirce and Alex Holcombe
Parameters :
win : None, False, Window instance

what window to use for refresh rate testing (if any) and settings. None -> temporary window using defaults; False -> no window created, used, nor profiled; a Window() instance you have already created

author : None, string

None = try to autodetect first __author__ in sys.argv[0]; string = user-supplied author info (of an experiment)

version : None, string

None = try to autodetect first __version__ in sys.argv[0]; string = user-supplied version info (of an experiment)

verbose : False, True; how much detail to assess

refreshTest : None, False, True, ‘grating’

True or ‘grating’ = assess refresh average, median, and SD of 60 win.flip()s, using visual.getMsPerFrame() ‘grating’ = show a visual during the assessment; True = assess without a visual

userProcsDetailed: False, True

get details about concurrent user’s processses (command, process-ID)

randomSeed: None

a way for the user to record, and optionally set, a random seed for making reproducible random sequences ‘set:XYZ’ will both record the seed, ‘XYZ’, and set it: random.seed(‘XYZ’); numpy.random.seed() is NOT set None defaults to python default; ‘time’ = use time.time() as the seed, as obtained during RunTimeInfo() randomSeed=’set:time’ will give a new random seq every time the script is run, with the seed recorded.

Returns :

a flat dict (but with several groups based on key names):

psychopy : version, rush() availability

psychopyVersion, psychopyHaveExtRush, git branch and current commit hash if available

experiment : author, version, directory, name, current time-stamp,

SHA1 digest, VCS info (if any, svn or hg only), experimentAuthor, experimentVersion, ...

system : hostname, platform, user login, count of users, user process info (count, cmd + pid), flagged processes

systemHostname, systemPlatform, ...

window : (see output; many details about the refresh rate, window, and monitor; units are noted)

windowWinType, windowWaitBlanking, ...windowRefreshTimeSD_ms, ... windowMonitor.<details>, ...

python : version of python, versions of key packages (wx, numpy, scipy, matplotlib, pyglet, pygame)

pythonVersion, pythonScipyVersion, ...

openGL : version, vendor, rendering engine, plus info on whether several extensions are present

openGLVersion, ..., openGLextGL_EXT_framebuffer_object, ...