Expyriment Versions Save

Platform-independent lightweight Python library for designing and conducting timing-critical behavioural and neuroimaging experiments

v0.8.0

8 years ago

June 2015

For installation instructions, please see http://docs.expyriment.org/Installation.html!

Wheel file download (for manual installation only!): expyriment-0.8.0-py2-none-any.whl

New Features:

  • antialiasing option for stimuli.Ellipse() and stimuli.Circle()
  • new class: misc.HSVColour. Class to handle HSV colours [hue, saturation, value]
  • new function: quiting wait or event loops by callback_function, if this function returns an instance of the new class control.CallbackQuitEvent
  • new method: all visual stimuli have methods for lowlevel Pygame operations get_surface_copy(), set_surface(), get_pixel_array()
  • new stimulus: stimuli.extras.ThermometerDisplay
  • new io device: io.extras.TbvNetworkClient
  • new io device: io.extras.TcpClient
  • new stimulus: GaborPatches can be created with stimuli.extras.GaborPatch(); the stimulus depends on the package "matplotlib".
  • new feature: data_preprocessing method sallow now to read in only certain variables (see parameter read_variables)
  • new feature: Expyriment asks in interactive mode if initializing a fullscreen
  • new method: stimulus.visual.scale_to_fullscreen
  • new class: design.extras.StimulationProtocol
  • new method in data_preprocessing: save to to R data frame
  • new method in data_preprocessing: get_experiment_duration
  • new method/property: misc.get_monitor_resolution & Screen.monitor_resolution
  • new mouse function: experiments can be quited by mouse events (triple click); see documentation of property "mouse_quit_event". This function is only switched on per default under Android
  • new method visual stimuli.replace
  • new method control.is_android_running
  • several new options for command line interface
  • get_module_hash_dictionary: dictionary secure hashes from all modules imported from local folder
  • new constant: ALL_KEYPAD_DIGITS
  • new helper functions in misc and control
  • new feature: control.set_skip_wait_functions
  • io.Keyboard has static methods to set and get the quit_key and pause_key
  • new feature: too long text lines will be trimmed automatically if the max_width parameter has been defined
  • new feature: too long words in text boxes will be trimmed automatically, this function can be switch off
  • new feature: improved functionality of randomize.shuffle_list
  • Test suite summarizes delay histograms for visual presentations
  • control.defaults.blocking_mode for setting the blocking_mode
  • new io.ParallelPort implementation, based on PsychoPy code; it now supports reading of 5 status pins (10, 11, 12, 13, 15) and all 8 data pins; in addition, the module now works on 64bit Windows system
  • Test suite: New ParallelPort test
  • stimuli.extra.DotCloud: DotCloud can be multi coloured (see make method)
  • lots of documentation improvements

Changed:

  • ATTENTION: Open_GL is now also used in window mode and will not be switch off automatically, if Expyriment is not running in fullscreen mode.
  • ATTENTION: extra modules will not anymore be imported automatically. Please call import.<module_name>.extras, if you want to use extra features.
  • ATTENTION: io.screen.open_gl and control.defaults.open_gl have new parameters:: 0/False - No OpenGL (no vsync / no blocking) 1 - OpenGL (vsync / no blocking) 2/True - OpenGL (vsync / blocking) 3 - OpenGL (vsync / alternative blocking)
  • ATTENTION: stimuli.Ellipse is now defined by radii (Not backwards compatible!)
  • ATTENTION: stimuli.Circle is now defined by radius (Not backwards compatible!)
  • ATTENTION: two obsolete stimuli stimuli.Frame and stimuli.Dot (see doc)
  • ATTENTION: ParallelPort has been changed a lot and is not backwards compatible anymore; the old implementation is still available as io.extras.SimpleParallelPort
  • the property Shape.size has been renamed to shape.shape_size
  • stimuli.Rectangle: is_point_inside is now obsolete
  • stimuli.Shape: is_point_inside and is_shape_overlapping are now obsolete
  • stimuli.Fixcross: fixcross_size parameter and cross_size property are now obsolete
  • changes to Simon example

Fixed:

  • bug in io.TouchScreenButton crash if duration expired
  • bug in command line interface: order of argument is now irrelevant
  • keypad bug in TextInput
  • unicode bug in TextMenu
  • bug in anti_aliasing shapes
  • some method parameters that require a list and didn't work with tuples
  • stimuli with odd dimensions missed a pixel in each dimension in OpenGL mode
  • bug in stimuli.Audio.unload() and stimuli.Video.unload()
  • bug in io.ParallelPort.poll (now io.extras.SimpleParallelPort)
  • bug in Shape: shapes now comensate for the Pygame bug of extended polygons along the horizontal axes
  • bug in stimuli.extras.DotCloud: colour of dots could not be changed

v0.8.0b3

8 years ago

Installation

This version of Expyriment can be installed from the PyPi test repository.

Windows

  1. Install Python 2.7.10 (during installation, also select "Add python.exe to Path"!)

  2. Install Pygame

  3. In a command prompt run:

    python -m pip install -i https://testpypi.python.org/pypi --pre expyriment

Optionally

  • For data preprocessing, install Numpy

  • For serial port communication, in a command prompt run:

    python -m pip install pyserial

  • For parallel port communication, install Inpout32 or dlportio

Linux

  1. Use your distribution's package manager to install

    • Python 2
    • PIP
    • Pygame
  2. In a command line, run

    pip install -i https://testpypi.python.org/pypi --pre expyriment

Optionally

Use your distribution's package manager to install

  • Numpy
  • PySerial
  • PyParallel

Debian/Ubuntu

(Neurodebian user must first uninstall the package python-expyriment)

In a command line, run

sudo apt-get install python-pip python-pygame
sudo pip install --upgrade pip
sudo pip install --upgrade -i https://testpypi.python.org/pypi --pre expyriment

Optionally

In a command line, run

sudo apt-get install python-numpy python-serial python-parallel

OS X

  1. Install MacPorts

  2. In a terminal, run

    sudo port selfupdate
    sudo port install xorg-server tcl python27 py27-pip py27-game
    sudo /opt/local/bin/python2.7 -m pip install expyriment
    
  3. To make the MacPorts Python the one that is called when typing "python", in a terminal, run

    sudo port select --set python python27
    

Optionally

In a terminal, run

sudo port selfupdate
sudo port install py27-serial
sudo /opt/local/bin/python2.7 -m pip install numpy

Notes

v0.8.0b2

8 years ago

Installation

This version of Expyriment can be installed from the PyPi test repository.

Windows

  1. Install Python 2.7.10 (during installation, also select "Add python.exe to Path"!)

  2. Install Pygame

  3. In a command prompt run:

    python -m pip install -i https://testpypi.python.org/pypi --pre expyriment

Optionally

  • For data preprocessing, install Numpy

  • For serial port communication, in a command prompt run:

    python -m pip install pyserial

  • For parallel port communication, install Inpout32 or dlportio

Linux

  1. Use your distribution's package manager to install

    • Python 2
    • PIP
    • Pygame
  2. In a command line, run

    pip install -i https://testpypi.python.org/pypi --pre expyriment

Optionally

Use your distribution's package manager to install

  • Numpy
  • PySerial
  • PyParallel

Debian/Ubuntu

(Neurodebian user must first uninstall the package python-expyriment)

In a command line, run

sudo apt-get install python-pip python-pygame
sudo pip install --upgrade pip
sudo pip install --upgrade -i https://testpypi.python.org/pypi --pre expyriment

Optionally

In a command line, run

sudo apt-get install python-numpy python-serial python-parallel

OS X

  1. Install MacPorts

  2. In a terminal, run

    sudo port selfupdate
    sudo port install xorg-server tcl python27 py27-pip py27-game
    sudo /opt/local/bin/python2.7 -m pip install expyriment
    
  3. To make the MacPorts Python the one that is called when typing "python", in a terminal, run

    sudo port select --set python python27
    

Optionally

In a terminal, run

sudo port selfupdate
sudo port install py27-serial
sudo /opt/local/bin/python2.7 -m pip install numpy

Notes

v0.8.0b1

9 years ago

Installation

This version of Expyriment can be installed from the PyPi test repository.

Windows

  1. Install Python 2.7.10 (during installation, also select "Add python.exe to Path"!)

  2. Install Pygame

  3. In a command prompt run:

    python -m pip install -i https://testpypi.python.org/pypi --pre expyriment

Optionally

  • For data preprocessing, install Numpy

  • For serial port communication, in a command prompt run:

    python -m pip install pyserial

  • For parallel port communication, install Inpout32 or dlportio

Linux

  1. Use your distribution's package manager to install

    • Python 2
    • PIP
    • Pygame
  2. In a command line, run

    pip install -i https://testpypi.python.org/pypi --pre expyriment

Optionally

Use your distribution's package manager to install

  • Numpy
  • PySerial
  • PyParallel

Debian/Ubuntu

(Neurodebian user must first uninstall the package python-expyriment)

In a command line, run

sudo apt-get install python-pip python-pygame
sudo pip install --upgrade pip
sudo pip install --upgrade -i https://testpypi.python.org/pypi --pre expyriment

Optionally

In a command line, run

sudo apt-get install python-numpy python-serial python-parallel

OS X

  1. Install MacPorts

  2. In a terminal, run

    sudo port selfupdate
    sudo port install xorg-server tcl python27 py27-pip py27-game
    sudo /opt/local/bin/python2.7 -m pip install expyriment
    
  3. To make the MacPorts Python the one that is called when typing "python", in a terminal, run

    sudo port select --set python python27
    

Optionally

In a terminal, run

sudo port selfupdate
sudo port install py27-serial
sudo /opt/local/bin/python2.7 -m pip install numpy

Notes

v0.7.0

10 years ago

March 2014

For installation instructions, please see http://docs.expyriment.org/Installation.html!

New Features:

  • new feature in testsuite: Font viewer
  • new extra stimulus: stimuli.extras.RandomDotKinematogram
  • new timer and experiment clock to ensure monotonic timing
  • Clock: new method (static) monotonic_time (this time should be always used)
  • data_preprocessing: new exclusion rule, which allows removing trials depending on their deviation (std) from mean (e.g., 'RT > 1.5*std')
  • improvements for OS X in get_system_info()
  • proper unicode handling: use unicode strings whenever unicode characters are needed
  • files: the character encoding is now written to files and used when opening them
  • FreeFonts are now part of the Expyriment distribution to guarantee the same fonts across platforms
  • new io class: TouchScreenButtonBox
  • new options for control.start(): skip_ready_screen and subject_id to start with predefined subject id
  • experiments now also have a global mouse object: experiment.mouse
  • new property for io.Mouse: is_visible
  • Secure hashes for experiments help to ensure that the correct version is running in the lab. Secure hashes will be displayed at the start and printed in all output files as well as in the command line output.

Fixed:

  • experiment clock now with monotonic timing
  • bug in extras.CedrusResponseDevice
  • several bugs in documentation
  • incompatibility with multiprocessing.Pool
  • bug in Visual.add_noise()
  • bug in io.SerialPort.read_line()
  • bugfix: stimuli.shapes can now be used as background stimuli for io.TextInput & io.TextMenu

Changed:

  • several Android related changes (have no impact for normal use of Expyriment)
  • overlapping methods of stimuli now work on absolute_position by default

If you are interested in running experiments created with Expyriment on Android devices, please have a look at our Expyriment Android Runtime.

To verify file integrity of your download, please check the SHA1 hash!

v0.7.0b1

10 years ago

February 2014

This is a public beta version of the upcoming Expyriment 0.7.0.

For this pre-release only the source package is avalable!

v0.6.4

10 years ago

August 2013

This is the version discussed in our Behavior Research Methods article. For installation instructions, please see http://docs.expyriment.org/Installation.html! If you are interested in running experiments created with Expyriment on Android devices, please have a look at the Expyriment Android Runtime.

Previous versions of Expyriment can be downloaded here.