Skip to content

Releases: expyriment/expyriment

Expyriment 0.11.0.dev1

05 Apr 14:09
32f7f3e
Compare
Choose a tag to compare
Pre-release

Install with:

python -m pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple --pre expyriment

Expyriment 0.10.0

30 Oct 22:33
Compare
Choose a tag to compare

Oct 2019

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

New Features:

  • Expyriment windows with no frame; set
    control.defaults.window_no_frame=True before initializing
  • download plugins from stash: misc.download_from_stash
  • stimuli.Shape: A vertex list can be added when creating a shape object
    using the optional vertex_list parameter
  • all visual stimuli now have get_surface_array & set_surface_array
    methods for direct pixel manipulations with numpy
  • all visual stimuli have a getter and setter for the position in polar
    coordinates: polar_coordiante
  • cartesian2polar & polar2cartesian in misc.geometry
  • design: trials, blocks and experiment objects have the method
    has_factor to check if a factor is defined
  • after installation the command line interface will be available from the
    system command expyriment
  • io.TextInput can now optionally how text right-to-left
  • io.SerialPort has a new method send_line
  • geometry module has convenience functions for predefined geometrical
    shapes used for plotting with stimuli.Shape
  • geometry.lines_intersection_point calculates interscetion point of two
    lines
  • stimuli.Line is internally based on stimuli.Shape and has the new
    methods get_shape and get_connected_shape
  • new function misc.round, implementing the old Python 2 rounding behaviour
  • io.keyboard.check now has an argument check_for_keyup which will
    check for keyup events instead of keydown events
  • new class misc.Colour: create colours by names, Hex strings or RGB values;
    the class can also handle HSV, HSL values; the misc.HSVColour class is
    thus obsolete
  • misc.data.preprocessing can handle glob wildcard pattern

Changed:

  • Python's time.perf_counter function will be used as high-precision timer
    if it exists (that is, for Python 3.3+)
  • major rewrite of stimuli.Shape with several bug fixes; e.g. shapes have no
    line_width, contour_colour is renamed to debug_contour_colour,
    Shape.rect is now a pygame.Rect; see improved documentation
  • extras
    • extras need to be explicitly imported
    • extras and plugins are not anymore part of expyriment package and can
      be instead downloaded from the Expyriment stash (see
      misc.download_from_stash)
    • all installed extras will be installed in the local settings folder
      (typically .expyriment in the $HOME directory)
  • the option ascii_fiter in io.TextInput has been renamed to
    character_filter
  • frequence_table in misc.statistics has been renamed to
    frequency_table
  • points_to_vertices in misc.geometry has been renamed to
    points2vertices
  • position2coordinate in misc.geometry has been renamed to
    position2coordinates
  • position2coordinates & coordinates2position have a new optional
    argument to calculate positions relative to a surfaces
  • stimuli.Circle: get_polar_coordiantes & set_polar_coordiantes are
    obsolete; use polar_position
  • design: Trial().get_factor, Block().get_factor and
    Experiment().get_bws_factor now raise an exception if the factor is not
    defined; this can be suppressed by using the parameter
    return_none_if_not_defined
  • misc.geometry.points2vertices requires now a list of misc.XYPoints and
    not a list of tuples; (use misc.geometry.tuples2points to adapt old code)
  • stimuli.Video: attempting to downloaded a missing ffmpeg binary only when
    initializing a Video stimulus with the "mediadecoder" backend
  • io.Mouse: quit events will now be controlled via the method
    Mouse.set_quit_corner_location; the class properties
    quit_rect_location and quit_rect_size are obsolete
  • logging of visual stimuli present method now after screen update

Fixed:

  • Adding field bug in io.TouchscreenButtonBox
  • 1-pixel bug when converting Expyriment positions to screen (Pygame)
    positions: position2coordinate & coordinate2position
  • control: auto_create_subject_id takes now also existing event files into
    account
  • io.SerialPort bug with Python 3
  • script path is added to $PYTHONPATH
  • representation lists in output CSV files
  • bug in io.Keyboard.wait
  • bug when drawing textures to screen (OpenGL) leading to 1-pixel inaccuracies
  • bug in stimuli.Ellipse with uneven line_width argument
  • io.TextIput: argument background_stimulus now takes all Expyriment
    stimuli
  • misc.get_system_info() uses PIL.__version__
  • io.TextMenu mouse wheel scrolling

Expyriment 0.9.1b2

24 Dec 17:56
d99f4b0
Compare
Choose a tag to compare
Expyriment 0.9.1b2 Pre-release
Pre-release

This is a beta release and for testing purposes only!

Installation

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

pip install --index-url https://test.pypi.org/simple expyriment[all]==0.9.1b2 --upgrade

Ommit [all] to install without additional packages (i.e. numpy, pyserial, pyparallel, mediadecoder, sounddevice, requests).

Use pip3 for Python 3.

Changes

New Features:

  • Expyriment windows with no frame; set default.window_no_frame=True before
    initialize
  • download plugins from stash: misc.download_from_stash()
  • stimuli.Shape: A vertex list can be added when creating a shape object
    using the optional vertex_list parameter
  • visual.get_surface_array & set_surface_arry for direct pixel manipulations
    with numpy
  • all visual stimuli have a getter and setter for the position in polar
    coordinates: polar_coordiante
  • cartesian2polar & polar2cartesian in misc.geometry
  • trials, blocks and experiment have the method has_factor() to check if a
    factor is defined
  • after installation the command line interface will be available from the
    system command 'expyriment'
  • io.TextInput can now optionally how text right-to-left
  • io.SerialPort has a new method send_line

Changed:

  • extras
    • extras need to be explicitly imported
    • extras and plugins are not anymore part of expyriment package and can
      be instead downloaded from the Expyriment stash (see
      misc.download_from_stash())
    • All installed extras will be installed in the local settings folder
      (typically .expyriment of the $HOME directory)
  • the option ascii_fiter in io.TextInput has been renamed to character_filter
  • frequence_table in misc.statistics has been renamed to frequency_table
  • points_to_vertices in misc.geometry has been renamed to points2vertices
  • position2coordinate in misc.geometry has been renamed to
    position2coordinates
  • position2coordinates & coordinates2position have a new optional argument to
    calculate positions relative to a surfaces
  • Circle.get_polar_coordiantes & Circle.set_polar_coordiantes are obsolete
    use circle.polar_position
  • trial.get_factor, block.get_factor, experiment.get_bws_factor now raises an
    exception, if the factor is not defined. This can be suppressed by using the
    parameter return_none_if_not_defined

Fixed:

  • Adding field bug in TouchscreenButtonBox
  • 1-pixel bug when converting Expyriment positions to screen (Pygame);
    positions: position2coordinate & coordinate2position
  • auto_subject_id takes now also existing event files into account
  • io.SerialPort bug with Python 3
  • script path is added to PYTHONPATH
  • representation lists in output CSV files
  • bug in io.Keyboard.wait

Expyriment 0.9.0

09 Mar 12:55
Compare
Choose a tag to compare

Mar 2017

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

For source tarball release, please download <link to .tar file coming soon>

New Features:

  • Python 3 compatibility
  • New Video stimulus implementation that supports a large range of formats
  • new global boolean constant expyriment.PYTHON3 indicates Python version
  • new io device: io.extras.TcpServer
  • new method to add full factorial designs:
    Block.add_trials_full_factorial & Experiment.add_blocks_full_factorial
  • Network inteface to Turbo-Satori: io.extras.TurbosatoriNetworkInterface
    (see www.brainvoyager.com/products/turbosatori.html)
  • stimuli.Rectangle: Option to have rounded (anti-aliased) corners
  • rotate() method of stimuli applies filtering on the content now
  • randomize.coin_flip() with bias parameter ("unfair coins")
  • randomize.rand_norm() normally distributed random numbers
  • statistics module: std & variance
  • Eventfile.log has an optional log_event_tag for the logging of
    inter-event-intervalls. If this is defined a summary of the intervalls
    will be added to the event file.
  • All present methods have an optional log_event_tag that will be passed
    to Eventfile.log (see above)
  • New function: misc.has_internet_connection()
  • Notify when initializing system fonts takes longer
  • io.ParallelPort: new method get_driver()
  • New function: misc.which()

Changed:

  • all wait methods (io and Clock) now
    (1) have process_control_events attribute to check for quit events from
    keyboard and mouse
    (2) have function attribute (callback_function) to repeatedly run a
    specific function in every loop iteration
    (3) pump the pygame event queue to (hopefully) prevent the OS to think the
    window is "not responding"
  • control.set_develop_mode: new skip_wait_methods attribute to ommit all wait
    functions in the experiment (for testing)
  • rename method: stimulus.replace --> stimulus.reposition
  • improvements to io.extras.TcpClient
  • move set_skip_wait_functions from misc to io
  • move is_idle_running, is_interactive_mode, is_android_running
    from control to misc
  • move get_module_hash_dictionary, get_experiment_secure_hash,
    module_hashes_as_string and get_system_info from expyriment to misc
  • Testsuite: Visual test will now colour code reported refresh rates

Fixed:

  • unicode bug on Windows for font files
  • unicode bug on Windows for Audio and Picture
  • bug fix in unicode2str
  • bug fix Experiment.add_experiment_info
  • bug: issue #65, tempfolder at multiuser systems
  • minor bug fixes in _secure_hash.py, _files.py
  • Cli: -0 option was not recognized
  • Correct anti-aliasing for Circle/Ellipse (now works on every background)
  • compatibility with pyserial version 3.0
  • ParallelPort: inpoutx64 should now work correctly

Expyriment 0.9.0rc5

01 Mar 17:14
Compare
Choose a tag to compare
Expyriment 0.9.0rc5 Pre-release
Pre-release

This is a release candidate and for testing purposes only!

Installation

This release candidate of Expyriment can be installed from the PyPi test repository:

pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc5 --upgrade

Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).

Use pip3 for Python 3.

Expyriment 0.9.0rc4

08 Feb 11:45
Compare
Choose a tag to compare
Expyriment 0.9.0rc4 Pre-release
Pre-release

This is a release candidate and for testing purposes only!

Installation

This release candidate of Expyriment can be installed from the PyPi test repository:

pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc4 --upgrade

Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).

Use pip3 for Python 3.

Expyriment 0.9.0rc3

01 Feb 10:14
Compare
Choose a tag to compare
Expyriment 0.9.0rc3 Pre-release
Pre-release

This is a release candidate and for testing purposes only!

Installation

This release candidate of Expyriment can be installed from the PyPi test repository:

pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc3 --upgrade

Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).

Use pip3 for Python 3.

Expyriment 0.9.0rc2

31 Jan 16:33
Compare
Choose a tag to compare
Expyriment 0.9.0rc2 Pre-release
Pre-release

This is a release candidate and for testing purposes only!

Installation

This release candidate of Expyriment can be installed from the PyPi test repository:

pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc2 --upgrade

Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).

Use pip3 for Python 3.

Expyriment 0.9.0rc1

27 Jan 14:29
Compare
Choose a tag to compare
Expyriment 0.9.0rc1 Pre-release
Pre-release

This is a release candidate and for testing purposes only!

Installation

This release candidate of Expyriment can be installed from the PyPi test repository:

pip install --extra-index-url https://testpypi.python.org/pypi expyriment[all]==0.9.0rc1 --upgrade

Ommit [all] to install without additional features (i.e. without the packages numpy, pyserial, pyparallel, mediadecoder, sounddevice).

Use pip3 for Python 3.

Expyriment 0.9.0b1

10 Oct 15:21
Compare
Choose a tag to compare
Expyriment 0.9.0b1 Pre-release
Pre-release

This is a beta release and for testing purposes only!

New features include Python 3 compatibility, a new Video implementation that supports a variety of codecs, and various fixes and improvements (see below for a detailed list of changes).

Installation

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

pip install --extra-index-url https://testpypi.python.org/pypi expyriment[optional]==0.9.0b1 --upgrade

Ommit [optional] to install without additional packages (i.e. numpy, pyserial, pyparallel, mediadecoder, sounddevice).

Use pip3 for Python 3.

Changes

New Features:

  • Python 3 compatibility
  • New Video stimulus implementation that supports a large range of formats
  • new global boolean constant expyriment.PYTHON3 indicates Python version
  • new io device: io.extras.TcpServer
  • new method to add full factorial designs: Block.add_trials_full_factorial & Experiment.add_blocks_full_factorial
  • Network inteface to Turbo-Satori: io.extras.TurbosatoriNetworkInterface (see http://www.brainvoyager.com/products/turbosatori.html)
  • stimuli.Rectangle: Option to have rounded (anti-aliased) corners
  • rotate() method of stimuli applies filtering on the content now
  • randomize.coin_flip() with bias parameter ("unfair coins")
  • randomize.rand_norm() normally distributed random numbers
  • statistics module: std & variance
  • EventFile.log() has an optional log_event_tag for the logging of inter-event-intervalls. If this is defined a summary of the intervalls will be added to the event file.
  • All present methods have an optional log_event_tag that will be passed to EventFile.log() (see above)
  • New method: misc.has_internet_connection()

Changed:

  • all wait methods (io and Clock) now
    • (1) have process_control_events attribute to check for quit events from keyboard and mouse
    • (2) have function attribute callback_function to repeatedly run a specific function in every loop iteration
    • (3) pump the pygame event queue to (hopefully) prevent the OS to think the window is "not responding"
  • control.set_develop_mode: new skip_wait_methods attribute to ommit all wait functions in the experiment (for testing)
  • rename method: stimulus.replace() --> stimulus.reposition()
  • improvements to io.extras.TcpClient
  • move set_skip_wait_functions from misc to io
  • move is_idle_running(), is_interactive_mode(), is_android_running()fromcontroltomisc`
  • move get_module_hash_dictionary(), get_experiment_secure_hash(), module_hashes_as_string() and get_system_info() from expyriment to misc
  • Testsuite: Visual test will now colour code reported refresh rates

Fixed:

  • unicode bug on Windows for font files
  • unicode bug on Windows for Audio and Picture
  • bug fix in unicode2str
  • bug fix Experiment.add_experiment_info
  • bug: issue #65, tempfolder at multiuser systems
  • minor bug fixes in _secure_hash.py, _files.py
  • Cli: -0 option was not recognized
  • Correct anti-aliasing for Circle/Ellipse (now works on every background)
  • compatibility with pyserial version 3.0