Platform-independent lightweight Python library for designing and conducting timing-critical behavioural and neuroimaging experiments
Install with:
python -m pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple --pre expyriment
Oct 2019
For installation instructions, please see https://docs.expyriment.org/Installation.html!
New Features:
control.defaults.window_no_frame=True
before initializingmisc.download_from_stash
stimuli.Shape
: A vertex list can be added when creating a shape object
using the optional vertex_list
parameterget_surface_array
& set_surface_array
methods for direct pixel manipulations with numpypolar_coordiante
cartesian2polar
& polar2cartesian
in misc.geometry
design
: trials, blocks and experiment objects have the method
has_factor
to check if a factor is definedexpyriment
io.TextInput
can now optionally how text right-to-leftio.SerialPort
has a new method send_line
stimuli.Shape
geometry.lines_intersection_point
calculates interscetion point of two
linesstimuli.Line
is internally based on stimuli.Shape
and has the new
methods get_shape
and get_connected_shape
misc.round
, implementing the old Python 2 rounding behaviourio.keyboard.check
now has an argument check_for_keyup
which will
check for keyup events instead of keydown eventsmisc.Colour
: create colours by names, Hex strings or RGB values;
the class can also handle HSV, HSL values; the misc.HSVColour
class is
thus obsoletemisc.data.preprocessing
can handle glob wildcard patternChanged:
time.perf_counter
function will be used as high-precision timer
if it exists (that is, for Python 3.3+)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 documentationextras
misc.download_from_stash
).expyriment
in the $HOME directory)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 surfacesstimuli.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" backendio.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 obsoletepresent
method now after screen updateFixed:
io.TouchscreenButtonBox
position2coordinate
& coordinate2position
auto_create_subject_id
takes now also existing event files into
accountio.SerialPort
bug with Python 3io.Keyboard.wait
stimuli.Ellipse
with uneven line_width
argumentio.TextIput
: argument background_stimulus
now takes all Expyriment
stimulimisc.get_system_info()
uses PIL.__version__
io.TextMenu
mouse wheel scrollingThis is a beta release and for testing purposes only!
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.
New Features:
Changed:
Fixed:
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:
Changed:
Fixed:
This is a release candidate and for testing purposes only!
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.
This is a release candidate and for testing purposes only!
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.
This is a release candidate and for testing purposes only!
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.
This is a release candidate and for testing purposes only!
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.
This is a release candidate and for testing purposes only!
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.
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).
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.
New Features:
expyriment.PYTHON3
indicates Python versionio.extras.TcpServer
Block.add_trials_full_factorial
& Experiment.add_blocks_full_factorial
io.extras.TurbosatoriNetworkInterface
(see http://www.brainvoyager.com/products/turbosatori.html)stimuli.Rectangle
: Option to have rounded (anti-aliased) cornersrotate()
method of stimuli applies filtering on the content nowrandomize.coin_flip()
with bias parameter ("unfair coins")randomize.rand_norm()
normally distributed random numbersEventFile.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.EventFile.log()
(see above)misc.has_internet_connection()
Changed:
io
and Clock
) now
process_control_events
attribute to check for quit events from keyboard and mousecallback_function
to repeatedly run a specific function in every loop iterationcontrol.set_develop_mode
: new skip_wait_methods attribute to ommit all wait functions in the experiment (for testing)stimulus.replace()
--> stimulus.reposition()
io.extras.TcpClient
set_skip_wait_functions
from misc
to io
is_idle_running()
, is_interactive_mode()
, is_android_running()from
controlto
misc`get_module_hash_dictionary()
, get_experiment_secure_hash()
, module_hashes_as_string()
and get_system_info()
from expyriment
to misc
Fixed:
Audio
and Picture
unicode2str
Experiment.add_experiment_info
_secure_hash.py
, _files.py
Circle
/Ellipse
(now works on every background)