PsychoPy is an open-source package for creating experiments in behavioral science.

Overview

PsychoPy

GH tests PyPI version Contributor Covenant

PsychoPy is an open-source package for creating experiments in behavioral science. It aims to provide a single package that is:

  • precise enough for psychophysics
  • easy enough for teaching
  • flexible enough for everything else
  • able to run experiments in a local Python script or online in JavaScript

To meet these goals PsychoPy provides a choice of interface - you can use a simple graphical user interface called Builder, or write your experiments in Python code. The entire application and library are written in Python and is platform independent.

There is a range of documentation at:

Contributions

To contribute, please fork the repository, hack in a feature branch, and send a pull request. For more, see CONTRIBUTING.md and the developers documentation at https://www.psychopy.org/developers/developers.html

More information

Comments
  • NF: Global Keyboard Events

    NF: Global Keyboard Events

    Having to check manually for keypresses to abort the experiment is cumbersome and error-prone; and I often forget to add this feature for parts of my code and have to resort to the OS task manager to kill the PsychoPy fullscreen window if I need to quit my experiment prematurely.

    This PR adds the ability to specify a shutdown key in the preferences, which will then be checked for during all event._onPygletKey() invocations. event._onPygletKey() is the pyglet window's keyboard event handler. These events are dispatched on each flip() and during wait() periods when using wait(X, hogCPUperiod=X). If the shutdown key is pressed, a CRITICAL event will be logged, and core.quit() will be called.

    The PR is to be considered a proposal and is up for discussion. Please let me know what you think of the general idea as such, and of the specific implementation.

    opened by hoechenberger 103
  • Convert to Python 3

    Convert to Python 3

    OK, here we go. I ran 2to3 and added some manual edits so that the following simple example from the documentation already works (on my Mac):

    from psychopy import visual, core
    
    win = visual.Window()
    msg = visual.TextStim(win, text=u"\u00A1Hola mundo!")
    
    msg.draw()
    win.flip()
    core.wait(1)
    win.close()
    

    Eventually, this will hopefully fix #1061. Right now, we should probably ignore the GUI parts since these will likely require a lot of work.

    I hope that this is a first step towards getting PsychoPy to run with Python 3. Note that it will probably be inconvenient to write code that is compatible with both 2 and 3, so I suggest that once everything runs in Python 3, development will switch to that version (and PsychoPy for Python 2 will remain available but not receive any further updates).

    Let me know if this approach works for you. Since this is a big one, I hope that others will contribute as well. I guess all devs already have write access to my branch, I hope GitHub makes coordinating this straightforward (I have never done that before).

    opened by cbrnr 49
  • Can't open PsychoPy 3 Mac version 2020.2.2

    Can't open PsychoPy 3 Mac version 2020.2.2

    Hi, I have just downloaded the standalone version for mac. However, whenever i tried to open PsychoPy, it gave me this PsychoPy 3 error and I had to terminate. My mac version is 10.14.5. Is this due to the Mac version is not correct?

    📦 packaging 
    opened by hungshaocheng 34
  • Installation issue under Windows 7

    Installation issue under Windows 7

    Hi! I don't know if this is a bug in PsychoPy or just an installation issue. I posted this in the PsychoPy forum a few days ago, but so far nobody has responded, so I thought I'd try here.

    I downloaded and installed PsychoPy v3.0 using the standalone version (StandalonePsychoPy3-3.0.2-win32.exe to be exact) under Windows 7 SP 1, but when I try to start it, nothing happens. Literally, nothing happens, no error message, nothing. I thought there might be a conflict with Anaconda, which I already had installed. After a little investigation, I found that my installation of Anaconda is using Python 3.6.7, and PsychoPy is using Python 3.6.5. So I removed all entries for Anaconda from the path (which preceded the path entries for PsychoPy) and tried to start it from the command line (so I could see any error messages), but still nothing happened, not even any error messages.

    Here is a link to a screenshot: https://www.dropbox.com/s/yuh8ctz61quy5yi/Screenshot%202019-02-09%2016.06.19.png?dl=0

    Maybe my video card isn’t compatible, but shouldn’t I see some sort of error message at least? Any suggestions? Thanks.

    opened by dfkettle 33
  • PsychoPy2_PY3 Error starting ioHub server

    PsychoPy2_PY3 Error starting ioHub server

    Hi,

    trying to start the ioHub server, I get the following RuntimeError:

    Traceback (most recent call last):
      File "C:\Users\User\GitHub\Experiment\VisualOddball.py", line 49, in <module>
        io = launchHubServer()
      File "C:\Program Files (x86)\PsychoPy2_PY3\lib\site-packages\psychopy\iohub\lazy_import.py", line 278, in __call__
        return obj(*args, **kwargs)
      File "C:\Program Files (x86)\PsychoPy2_PY3\lib\site-packages\psychopy\iohub\client\connect.py", line 301, in launchHubServer
        return ioHubConnection(iohub_config)
      File "C:\Program Files (x86)\PsychoPy2_PY3\lib\site-packages\psychopy\iohub\client\__init__.py", line 290, in __init__
        raise RuntimeError('Error starting ioHub server')
    RuntimeError: Error starting ioHub server
    ioHub Server Process Completed With Code:  1
    

    This seems to be the same es in #1760. I am using the latest standalone release 1.90.1. @tjwilli58 Do you still have this problem?

    📦 packaging 
    opened by stfnrpplngr 33
  • Translating new strings

    Translating new strings

    I pulled the latest master branch and found there are several untranslated new strings in menus and dialog boxes. I have some questions on translation.

    1. Should Runner view be untranslated?

    We decided that Coder and Builder should be untranslated when internationalization of user interface was started. It looks that new Runner view is comparable UI to the Builder and Coder. If so, I think that Runner should not be translated. What do you think?

    1. How should return strings of psychopy.experiment.exports.NameSpace.isPossibleDerivable() be translated?

    When "this" is used as the component name, Builder warns us not to use "this" as the name. This message is not translated.

    1

    I searched this string from source codes and found at NameSpace.isPossibleDerivable() in psychopy/experiment/exports.py.

        def isPossiblyDerivable(self, name):
            """catch all possible derived-names, regardless of whether currently
            """
            derivable = (name.startswith('this') or
                         name.startswith('these') or
                         name.startswith('continue') or
                         name.endswith('Clock') or
                         name.lower().find('component') > -1)
            if derivable:
                return (" Avoid `this`, `these`, `continue`, `Clock`,"
                        " or `component` in name")
            return None
    

    This function is called as follows (in psychopy/app/builder/dialogs/__init__.py).

                elif namespace.isPossiblyDerivable(newName):
                    msg = namespace.isPossiblyDerivable(newName)
                    return namespace._localized[msg], True
    

    namespace._localized is defined as (in psychopy/experiment/exports.py)

            toTranslate = [
                "one of your Components, Routines, or condition parameters",
                " Avoid `this`, `these`, `continue`, `Clock`, or `component` in name",
                "Builder variable",
                "Psychopy module",
                "numpy function",
                "python keyword"
            ]
            self._localized = {None: ''}  # start with this so None=""
            for transStr in toTranslate:
                self._localized[transStr] = _translate(transStr)
    

    Unfortunately, poedit can't recognize that these strings need to be translated. We have to write them without for statement.

                self._localized[transStr] = [
                "one of your Components, Routines, or condition parameters":_translate("one of your Components, Routines, or condition parameters"),
    (snip)
                "python keyword":_translate("python keyword")
                ]
    
    

    On the other hand, we have put pairs of original and translated strings into psychopy/app/builder/localizedStrings.py. Should these strings be moved to localizedStrings.py, too? Or, should they remain as the attribute of NameSpace object ?

    opened by hsogo 30
  • QuestPlus staircase

    QuestPlus staircase

    This was first proposed on isse #1005

    I thought it would be a good idea to open an issue so we can add some resources we find online, and to discuss the proposed new class.

    🌟 enhancement 
    opened by janfreyberg 30
  • NF: Coder UI enhancements

    NF: Coder UI enhancements

    This PR removes the defunct "Source Assistant" and replaces it with a source code tree and file browser.

    The source code tree displays classes and definitions within the current document. Giving you an outline of your file which makes navigation much easier. You can click on tree items to expand them and goto their definitions in the file. I decided to go with a quick-and-dirty approach to parsing the file, instead of using the AST. This method is much faster and can do really time parsing on very large files. Right now only function and class definitions show up, in the future variables, imports and attributes will also be displayed.

    I also added an integrated file browser panel, it looks and behaves much like the one in R Studio. You can open files by clicking on them, or rename and delete them if you like. I also added a menu option that allows you to change the current working directory of Coder. This allows you to work within a project directory. You can change the CWD to a custom location, to the location of the presently opened file, or the directory being shown in the file pane.

    There are also a bunch of misc features and fixes:

    • I added new fields to the status bar in coder which displays the current line number and column, and file type.
    • Disabled lexer for non-code text files. No longer is there syntax highlighting when viewing a CSV or text document.
    • Added Close All and Close others menu items.
    • Fixed lexers not being set correctly. They all work now and they're ugly.
    opened by mdcutone 29
  • iohub and core clocks out of sync on macOS with Python 3

    iohub and core clocks out of sync on macOS with Python 3

    On macOS 10.14.3, Python 3.7.2, PsychoPy master, I cannot use iohub to measure response times because the iohub and psychopy.core.getTime() time bases seem to be out of sync.

    MWE:

    from psychopy.iohub import launchHubServer
    from psychopy import core
    
    
    io = launchHubServer()
    keyboard = io.devices.keyboard
    
    io.clearEvents('all')
    t0 = core.getTime()
    
    while True:
        events = keyboard.getKeys()
        if events:
            t_getTime = core.getTime()
            t_iohub = events[0].time
            break
    
    print(f'core.getTime() timestamp: {t_getTime}')
    print(f'iohub timestamp:          {t_iohub}')
    

    Running this code and pressing a key produces output like:

    /Users/hoechenberger/miniconda3/envs/psychopy-test/bin/python /Users/hoechenberger/Library/Preferences/PyCharm2018.3/scratches/scratch_19.py
    pygame 1.9.4
    Hello from the pygame community. https://www.pygame.org/contribute.html
    core.getTime() timestamp: 4.988316210000001
    iohub timestamp:          3.8018358130000003
    ioHub Server Process Completed With Code:  0
    
    Process finished with exit code 0
    

    The iohub timestamp is dragging behind the core.getTime() timestamp, although my understanding is that they should both be ~identical in this example.

    Works as expected on a Windows 10 machine with Python 3.6.

    🐞 bug 
    opened by hoechenberger 26
  • Trial csv not written when 'esc' key pressed

    Trial csv not written when 'esc' key pressed

    I'm testing an experiment (very simple set up) that, when run in its entirety is perfectly fine. It logs everything, and my output is written as expected. However whenever I interrupt the experiment via the 'esc' key I get this output message:

    Exception RuntimeError: RuntimeError('sys.meta_path must be a list of import hooks',) in <bound method ExperimentHandler.__del__ of <psychopy.data.experiment.ExperimentHandler object at 0x112387550>> ignored

    Which, to my knowledge, appears as if the ExperimentHandler.del method is being skipped over- resulting in no output .csv

    This is on a fresh standalone install of psychopy 1.85.3 on a Mac OS X El Capitan 10.11

    Edit: Forgot to mention that this experiment was built completely with the psychopy builder gui- I have not used to coder to create this experiment.

    🐞 bug 
    opened by CRiddler 26
  • pyWinhook fails to build when installing PsychoPy 3.0.2

    pyWinhook fails to build when installing PsychoPy 3.0.2

    When performing developers install for PsychoPy 3.0.2 on Windows 10, the installation fails due to a pyWinhook build failure:

    error: command 'swig.exe' failed: No such file or directory
    
    opened by dvbridges 24
  • RF: Remove audio library from prefs, move to Experiment Settings

    RF: Remove audio library from prefs, move to Experiment Settings

    Because the setting still exists in the prefs file (it's just marked as "legacy" so not shown in Builder), previous settings will be respected. Basically just means from here on in, users will set their audio library from Experiment Settings rather than Prefs

    opened by TEParsons 0
  • Couldn't measure a consistent frame rate

    Couldn't measure a consistent frame rate

    WARNING     Couldn't measure a consistent frame rate!
      - Is your graphics card set to sync to vertical blank?
      - Are you running other processes on your computer?
    

    I have this issue with version 2022.2.1 to 2022.2.5. I granted PsychoPy permission to access input monitoring and accessibility. This problem occurs even when a simple task with just a text component is executed. The only method I've discovered to prevent this issue on my Apple M1 computer (Ventura 13.1; Python 3.9.12) is to deactivate vertical sync, which is inconvenient.

    Do you have any recommendations concerning potential solutions for this? Thank you!

    opened by oliviamborges 0
  • Add CodeQL workflow

    Add CodeQL workflow

    Hi psychopy/psychopy!

    This is not an automatic, 🤖-generated PR, as you can check in my GitHub profile, I work for GitHub and I am part of the GitHub Security Lab which is helping out with the migration of LGTM configurations to Code Scanning. You might have heard that we've integrated LGTM's underlying CodeQL analysis engine natively into GitHub. The result is GitHub code scanning!

    With LGTM fully integrated into code scanning, we are focused on improving CodeQL within the native GitHub code scanning experience. In order to take advantage of current and future improvements to our analysis capabilities, we suggest you enable code scanning on your repository. Please take a look at our blog post for more information.

    This pull request enables code scanning by adding an auto-generated codeql.yml workflow file for GitHub Actions to your repository — take a look! We tested it before opening this pull request, so all should be working :heavy_check_mark:. In fact, you might already have seen some alerts appear on this pull request!

    Where needed and if possible, we’ve adjusted the configuration to the needs of your particular repository. But of course, you should feel free to tweak it further! Check this page for detailed documentation.

    Questions? Check out the FAQ below!

    FAQ

    Click here to expand the FAQ section

    How often will the code scanning analysis run?

    By default, code scanning will trigger a scan with the CodeQL engine on the following events:

    • On every pull request — to flag up potential security problems for you to investigate before merging a PR.
    • On every push to your default branch and other protected branches — this keeps the analysis results on your repository’s Security tab up to date.
    • Once a week at a fixed time — to make sure you benefit from the latest updated security analysis even when no code was committed or PRs were opened.

    What will this cost?

    Nothing! The CodeQL engine will run inside GitHub Actions, making use of your unlimited free compute minutes for public repositories.

    What types of problems does CodeQL find?

    The CodeQL engine that powers GitHub code scanning is the exact same engine that powers LGTM.com. The exact set of rules has been tweaked slightly, but you should see almost exactly the same types of alerts as you were used to on LGTM.com: we’ve enabled the security-and-quality query suite for you.

    How do I upgrade my CodeQL engine?

    No need! New versions of the CodeQL analysis are constantly deployed on GitHub.com; your repository will automatically benefit from the most recently released version.

    The analysis doesn’t seem to be working

    If you get an error in GitHub Actions that indicates that CodeQL wasn’t able to analyze your code, please follow the instructions here to debug the analysis.

    How do I disable LGTM.com?

    If you have LGTM’s automatic pull request analysis enabled, then you can follow these steps to disable the LGTM pull request analysis. You don’t actually need to remove your repository from LGTM.com; it will automatically be removed in the next few months as part of the deprecation of LGTM.com (more info here).

    Which source code hosting platforms does code scanning support?

    GitHub code scanning is deeply integrated within GitHub itself. If you’d like to scan source code that is hosted elsewhere, we suggest that you create a mirror of that code on GitHub.

    How do I know this PR is legitimate?

    This PR is filed by the official LGTM.com GitHub App, in line with the deprecation timeline that was announced on the official GitHub Blog. The proposed GitHub Action workflow uses the official open source GitHub CodeQL Action. If you have any other questions or concerns, please join the discussion here in the official GitHub community!

    I have another question / how do I get in touch?

    Please join the discussion here to ask further questions and send us suggestions!

    opened by pwntester 0
  • PR655 failure to detect

    PR655 failure to detect

    opened by da5nsy 0
Releases(2022.2.5)
  • 2022.2.5(Dec 23, 2022)

    On top of the new features of the 2022.2.x series this release fixes:

    • Several fixes to syncing of Pavlovia projects (e.g. when project has been deleted/recreated online or when files have been copied over from another machine) #5117 #5221
    • Shape Component in Builder can now update vertices on each frame/repeat commit:e493ee2ca
    • Participant name missing from filename if given in URL query #5171
    • Eyetracker ROI stop code should only be written if a value is given to stop on #5156
    • Don't crash if Microphone.stop() called repeatedly #5121
    • TypeError in Window.resetViewport() #5135
    • PupilLabs lib was not being found due to missing __init__ #5180
    • QUESTplus had ben removed from list of loop types commit:2da0cfa0a
    • Sound.pause() was reseting to start of track commit:a161e135a
    Source code(tar.gz)
    Source code(zip)
    StandalonePsychoPy-2022.2.5-macOS.dmg(686.11 MB)
    StandalonePsychoPy-2022.2.5-win64.exe(489.43 MB)
  • 2022.2.4(Aug 18, 2022)

    On top of the new features of the 2022.2.x series this release fixes:

    • Python: fix to occasional crashing of new FFPyPlayer moviestim caused by excessive logging in the underlying lib commit:47289f6ca
    • App: better handling of case where Experiment Settings may have syntax error commit:60cf0cea6
    • App: rare case where the $ could get ignored during dialog box validation commit:eb1897087
    • App: better handling of an (apparent) syntax error in user-supplied JS commit:992aaa423
    • App: transcription setting on Mic Component now False by default (because most people don't have a Google API key set up) commit:2c8a27ed
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.2.4.zip(24.59 MB)
    StandalonePsychoPy-2022.2.4-macOS.dmg(686.84 MB)
    StandalonePsychoPy-2022.2.4-win64.exe(489.31 MB)
  • 2022.2.3(Aug 18, 2022)

  • 2022.2.2(Jul 14, 2022)

  • 2022.2.1(Jun 30, 2022)

    On top of the new features of the 2022.2.x series this release fixes:

    • App: bug loading experiments on MacOS: ‘PosixPath’ object has no attribute ‘is_relative_to’
    • Py: Keyboard releases were showing up as additional key events when using the ioHub for keyboard
    • Py: Slider.reset() was not making use of the desired startValue
    • App: better performance when using large history in the Python Shell
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.2.1.zip(24.95 MB)
    StandalonePsychoPy-2022.2.1-macOS.dmg(673.37 MB)
    StandalonePsychoPy-2022.2.1-win64.exe(484.87 MB)
  • 2022.2.0(Jun 24, 2022)

    Highlights:

    • BETA: You can now get participant responses using Cameras (webcams), both in web-based and in local experiments. The new Camera Component allows you to
      • save recordings to disk
      • show the current input from the webcam (make the Camera the input to a regular ImageStim)
      • replay a recording later in the experiment (use the Camera as input to a subsequent MovieStim)
      • all the above features are currently BETA
    • Python: New movie playing engine for higher performance playback in locally experiments (using FFPyPlayer)
    • Online: Introducing the "Shelf" for persistent storage on Pavlovia of variables accessible to a range of scopes (only the current participant, only the current project, any project in the lab etc.). This may sound like not a big deal but it opens options for the following:
      • multi-session studies: retrieve the participant threshold/progress form last session
      • interactive multi-player studies: store 'messages' for another user to receive
      • counterbalancing online: by tracking the number of participants that have been in each group
    • Online: Gratings and Gabors now supported online, straight from your Builder experiments
    • Online: gamma correction supported in the browser(!!) by setting Window.gamma property (currently requires a code snippet)
    • Python: Builder now has a Serial Port Component to make it easier to connect to hardware without needing Code Components

    Compatibility changes:

    • Studies with Code Components that access routineTimer will need adapting because the non-slip Builder logic has changed this is now a regular (count-up) Clock instead of a CountdownTimer

    Key Fixes:

    • Online: Button Component is now fully working, so you don't need to create your own text boxes for this
    • Online: Routines used outside a loop now always advance the next row in the data file so that they can't overwrite each others' data
    • Python: The .stopped times should now be showing up correctly for all Components in the csv file (they were always correct in the log file)
    • Python: Better timing in non-slip Routines. Previously the non-slip timer corrected for overshoots but not undershoots. This is now fixed.
    • Is trials property of loops (to control whether the data file advances) is now supported in online studies
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.2.0.zip(26.02 MB)
    StandalonePsychoPy-2022.2.0-win64.exe(486.88 MB)
  • 2022.1.4(May 21, 2022)

    In addition to the new features of the 2022.1 release series this release includes the following

    Fixes:

    • experiments using iohub were not running on MacOS standalone due to broken version of the gevent library
    • fixes to connection from Builder to Pavlovia in certain circumstances (e.g. certain usernames or when project has moved) 22963a9db
    • fixes searches of Pavlovia for private projects by the logged in user
    • fix to use of correct answers for Joystick Buttons Component 2e66dc188 f9ef1bea2
    • Builder crashing when a Routine had been copied over 45928769c
    • some parameters in Builder dialogs were missing their label names c8cd3802e
    • ShapeStim was not obeying requests for zero opacity 8030b2ff4
    • fixed "currentLoop is not defined" error for online studies a261d0446
    • in certain circumstances, mic recordings were not saving for each trial, only for the last trial, when online 5e23a0a34
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.1.4.zip(24.72 MB)
    StandalonePsychoPy-2022.1.4-macOS.dmg(646.83 MB)
    StandalonePsychoPy-2022.1.4-win64.exe(432.38 MB)
  • 2022.1.3(Apr 19, 2022)

    In addition to the new features of the 2022.1 release series this release includes the following

    Fixes:

    • TextStim (and Button, which is derived from TextStim) was not easily clickable online due to incorrect bounding box psychopy/psychojs#492
    • Slider styleTweaks were not being applied #4773
    • Check that file is saved before trying to Run #4759
    • Mouse coordinate mapping was incorrect for MacOS Retina displays which meant that Slider and Brush wasn't working, for instance #4755
    • Allow the Sound Component to be used if transcription libs were not available #4747
    • Form Component excel template was corrupted (by google sheets export) #4742
    • Copying a Routine from one experiment to another was causing a compile error #4740
    • Better logging of errors during application load for debugging purposes #4750
    • Setting the Slider to reset() was looking like a response when it shouldn't #4738
    • Fixed core.getTime() for M1 native installations (does not affect Standalone or Intel-based installations on M1) b839a32da52b
    • Allow 3-dimensional arrays for ShapeStim vertices 31ca663bf2
    • Fix dependency definition for Poetry installations 77cb7c92eac4
    • Fix use of event module for keyboard as fallback for iohub/ptb 5c3672804f1
    • If HomeBrew has a broken fonts folder ignore it #4719
    • If user specifies a line width of "2"make it 2 389bfd4692
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.1.3.zip(24.70 MB)
    StandalonePsychoPy-2022.1.3-macOS.dmg(646.67 MB)
    StandalonePsychoPy-2022.1.3-win64.exe(432.37 MB)
  • 2022.1.2(Mar 25, 2022)

    In addition to the new features of the 2022.1 release series this release includes the following

    Fixes:

    • URL redirection was failing at the end of the study for online experiments where the JS code was generated using 2022.1.0-2022.1.1 due to an erroneous replacement of // with / in https:// e8218b31f71
    • Hyphens can now be included in Pavlovia project names (the validator in the PsychoPy GUI was being too strict) bbe6bf5ed01
    • Static Components that are used for fetching online resources (e.g. using a Movie Component that sets its stimulus during a Static) will now freeze and wait until the resource is fully received if it takes longer than the set duration. Using ResourceManager components the experiment will not freeze but status can be checked status==FINISHED when download is complete
    • Fixed a bug where, after logging out of the Pavlovia Session in the PsychoPy interface, PsychoPy would still provide the option to use the names/groups of that user, but would not then allow access to their contents. bbe6bf5ed01d2657d968f1f429b31bfec064292e
    • PsychoPy would crash if using the Classic Theme on a mac with a retina display (missing icons) 495fddd814ce1e0b79d4c6483a3d1bdd5ed4b5a5
    • DotStim in local (Python) experiments was failing to update dots position (at all) #4694
    • Error raised when creating a new Pavlovia project from the menu item rather than the toolbar button #4683
    • Crashing on MacOS when running experiment due to Keyboard a) 'iohub' not loading due to gevent incompatibility and b) not then correctly falling back to 'event' backend
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.1.2.zip(24.70 MB)
    StandalonePsychoPy-2022.1.2-macOS.dmg(646.63 MB)
    StandalonePsychoPy-2022.1.2-win64.exe(432.37 MB)
  • 2022.1.1(Feb 18, 2022)

    Highlights of 2022.1.x release series

    • Improved interface for searching, syncing and viewing Pavlovia projects from within the PsychoPy app
    • In online experiments you can now dynamically choose the resources your participant needs as the experiment progresses rather than downloading them all in the first dialog box
    • Can now insert new Routines from pre-packaged templates (such as Fixation, 2-alternative forced choice, feedback, etc)
    • QUEST handlers now available in PsychoJS including interleaved staircases
    • Most visual stimuli now have an "anchor" parameter to control how it's laid out relative to its position, and you can now set the alignment of text within a Textbox (with a handy demo to illustrate the difference between anchor and alignment!)
    • Added support for Pupil Labs eye trackers (thanks to Pupil Labs themselves) directly from the Builder

    Compatibility Changes in 2022.1.x release series

    • Python 2.x is no longer supported
    • Filename timestamps now have a different default format (based on ISO 8601): 2022-01-14_14h39.36.092 for 2:39pm and 36s, 92ms See :func:psychopy.data.utils.getDateStr for details on the new functionality

    Fixes since 2022.1.0:

    • MacOS app failed to run experiments with dialog boxes (broken dependency being packaged)
    • the application would hang while trying to push any changes to Pavlovia
    • added Japanese translations of the new menu items
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.1.1.zip(24.37 MB)
    StandalonePsychoPy-2022.1.1-macOS.dmg(646.27 MB)
    StandalonePsychoPy-2022.1.1-win64.exe(432.02 MB)
  • 2022.1.0(Feb 9, 2022)

    Highlights:

    • Can now insert new Routines from templates (such as Fixation, 2-alternative forced choice, etc)
    • Improved interface for searching, syncing and viewing Pavlovia projects from within the PsychoPy app
    • Dynamic loading of resources in online experiments so that not all resources in a study need downloading in the first dialog box
    • QUEST handlers now available in PsychoJS including interleaved staircases
    • Most visual stimuli now have an "anchor" parameter to control how it's laid out relative to its position, and you can now set the alignment of text within a Textbox (with a handy demo to illustrate the difference between anchor and alignment!)
    • Added support for Pupil labs eye trackers (thanks to Pupil Labs themselves) directly from the Builder

    ... and many more. For full list of changes see the PsychoPy Changelog

    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2022.1.0.zip(24.35 MB)
    StandalonePsychoPy-2022.1.0-macOS.dmg(646.22 MB)
    StandalonePsychoPy-2022.1.0-win64.exe(431.99 MB)
  • 2021.2.3(Aug 12, 2021)

    Fixes:

    • on macOS the long-standing issue of the app freezing in the dock has now been fixed #4214
    • smoother handling of trying to run an experiment on a computer with different mic hardware than where the experiment was created #4210
    • Minolta LS100/110 was not working due to broken bytes/unicode conversion #4186
    • ElementArray was not honouring the contrasts (contrs) parameter #4196
    • Code Components were giving unnecessary warning about namespace issues. Should only warn if a variable name is being shadowed not if it's being used #4193
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.2.3.zip(23.16 MB)
    StandalonePsychoPy-2021.2.3-macOS.dmg(680.27 MB)
    StandalonePsychoPy-2021.2.3-win64.exe(463.91 MB)
  • 2021.2.2(Aug 2, 2021)

    Bug fixes for release 2021.2. See changelog for the new features in the 2021.2 release series

    • Builder outputs weren't fully honouring the userVersion() request, resulting in broken PsychoJS code 5f10b0a12 017c18f2f31e
    • Better documentation of (high-performance) VLC movie backend
    • iohub.Mouse.setPosition was not handling units correctly when given a float
    • Builder boilerplate for Microphone was looking for a transcription even if none was requested #4163
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.2.2.zip(23.16 MB)
    StandalonePsychoPy-2021.2.2-macOS.dmg(680.20 MB)
    StandalonePsychoPy-2021.2.2-win64.exe(463.90 MB)
  • 2021.2.1(Jul 23, 2021)

    Bug fixes for release 2021.2. See changelog for the new features in the 2021.2 release series

    • macOS was crashing on launch (caused by missing files from psychtoolbox stripped by macOS GateKeeper)
    • added cryptography lib explicitly to requirements for pip install 267483d00
    • Runner local debug of PsychoJS experiments was failing with MIME-type errors (Runner didn't know about new psychojs packaging) #4153
    • extended timeout when querying Pavlovia from the app (e.g. searching for projects) #4148
    • corrected reset of clock for new Button Component
    • DlgFromDict was crashing if labels were used (in code) #4137
    • short (<0.5s) sounds were not labelled as finished in PsychoJS boilerplate #4117
    • contrast parameter was not being applied to ShapeStim #4111
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.2.1.zip(23.15 MB)
    StandalonePsychoPy-2021.2.1-macOS.dmg(680.28 MB)
    StandalonePsychoPy-2021.2.1-win64.exe(463.90 MB)
  • 2021.2.0(Jun 23, 2021)

    Highlights:

    • Unified Eyetracker support via ioHub is now integrated into Builder for easy-to-use eyetracking studies, many improvements and a "MouseGaze" option to simulate eye movements while testing
    • Mic recordings for voice responses (Python and JS)
    • Transcription (speech-to-text) via Google Speech or using CMU Pocket Sphinx (free but currently on the Python lib only)
    • Improved JavaScript outputs from the Builder, providing more seamless migration to web-based studies

    Compatibility Changes:

    • CHANGED: In Python the random number generators for TrialHandlers etc use an improved algorithm (PCG64) and are now indendent of each other but seeded random sequences will differ from previous versions

    For the details of all changes see the Changelog

    [Update: 2021.2.0.1 Standalone downloads include an updated version of msgpack_numpy due to an issue with the previous version. The PsychoPy code itself within that download is not changed]

    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.2.0.zip(23.15 MB)
    StandalonePsychoPy-2021.2.0.1-macOS.dmg(680.18 MB)
    StandalonePsychoPy-2021.2.0.1-win64.exe(463.89 MB)
  • 2021.1.4(Apr 15, 2021)

    FIXES:

    • Py Lib: Sounds from files were being truncated #3689
    • Py Lib: TrialHandlerExt now compatible with current numpy (had an index error before) #3705
    • Py Lib: MoviStim raising an error if opacity was None commit:50334df2f
    • Py Lib: RIFT backend not working commit:428f62f80
    • Builder: When letter height was set to a variable it raised an error at run time TypeError: len() of unsized object commit:b1a77ca3a
    • Builder: Raising an error when floats looking like file names #3719
    • Builder: better handling of failure to updateVersion commit:afec41226
    • JS: TextBox when editable was not being reset on each trial #3706
    • JS: Keyboard should stop consuming keypresses at end of trial, even if not storing data #3706
    • JS: Add Sound.setSound() method to allow for dynamically deciding audio source psychopy/psychojs#154
    • JS: Allow for PIXI updates when dynamically adjusting opacity, including on polygons psychopy/psychojs#203
    • JS: Give Form radio type support psychopy/psychojs#281
    • JS: Improve ImageStim.setImage() attribute checking psychopy/psychojs#292
    • JS: Give TrackPlayer fades on play / stop psychopy/psychojs#296
    • JS: Fix TextBox eating up key presses psychopy/psychojs#302
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.1.4.zip(24.04 MB)
    StandalonePsychoPy-2021.1.4-macOS.dmg(613.27 MB)
    StandalonePsychoPy3-2021.1.4-win32.exe(316.53 MB)
    StandalonePsychoPy3-2021.1.4-win64.exe(398.06 MB)
  • 2021.1.3(Mar 9, 2021)

    FIXES:

    • Builder: Fix 'list' object has no attribute 'contains' with clickable mouse objects #3651
    • Builder: context (right-click) menu was not aligned with mouse in Flow for large Flows #3657
    • Builder: Slider styles were not being used correctly from previous versions (<2021.0) #3665
    • Builder: crash if the filter preference was used to filter out pure Python or pure JS Components from Builder #3649
    • Builder: Color Picker defaults to RGB to reduce chance of users pasting in RGBA to visual Components #3667
    • Runner: local debug of online studies working again (was trying to fetch the wrong PsychoJS version) commit:af6622c71
    • PsychoPy lib: better handling of unknown fonts (fall back to Open Sans and Alert) commit:fba09ef8d
    • PsychoPy lib: better timing on iohub for macOS key/mouse polling commit:fba09ef8d
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.1.3.zip(24.04 MB)
    StandalonePsychoPy-2021.1.3-macOS.dmg(613.27 MB)
    StandalonePsychoPy3-2021.1.3-win32.exe(316.46 MB)
    StandalonePsychoPy3-2021.1.3-win64.exe(398.06 MB)
  • 2021.1.2(Feb 25, 2021)

    FIXES on top of the new features in 2021.1:

    • Code Components were raising an error when trying to generate JS code #3643
    • Slider styles weren't generating correct JS code
    • New Button component (Python only) was not cleaning previous clicks so they tended to act as if clicking all trials! #3641
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.1.2.zip(24.04 MB)
    StandalonePsychoPy-2021.1.2-macOS.dmg(613.20 MB)
    StandalonePsychoPy3-2021.1.2-win32.exe(316.39 MB)
    StandalonePsychoPy3-2021.1.2-win64.exe(398.06 MB)
  • 2021.1.1(Feb 24, 2021)

    FIXES:

    • Error when trying to sync a new project with Pavlovia commit:33b3d80ea
    • TextBox in Builder was resetting to "default text" on each repeat rather than blank commit:8510d9f1a
    • Editable elements of Form were being erroneously drawn when they fell beyond the Form boundary commit:7d02c8251
    • Several improvements to styling of Form (on Python)
    • Added a preference for Builder to show only the online-compatible Components (or other similar options). This is a BETA testing feature
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.1.1.zip(24.02 MB)
    StandalonePsychoPy-2021.1.1-macOS.dmg(613.26 MB)
    StandalonePsychoPy3-2021.1.1-win32.exe(316.31 MB)
    StandalonePsychoPy3-2021.1.1-win64.exe(398.06 MB)
  • 2021.1.0(Feb 21, 2021)

    The first major release of 2021 brings a lot of fixes (we're focussing heavily on making the user experience more smooth at the moment).

    On top of those fixes are a number of useful additions though, like the new Button component for adding text-based buttons with callback functions.

    NEW:

    • Builder has a Button component to make it easier to have clickable image/text objects

    • Builder: Improved layout of Component dialogs:

      • Consistent tabs for common parameters (like pos, size, color...)
      • Component parameters that use filenames (sounds, images, etc.) now have a Browse... button
      • Component parameters that use Excel files now have an “open in Excel” button, if you click this when the field is blank it will open a pre-made template for you
      • Component parameters that are colors now have a button to open the color picker
    • Builder now features separate compile buttons for JS and Py and will open the JS file in the Coder view when compiled

    • Builder readme files now support markdown formatting (and .md extensions) psychopy/psychopy#3377

    • PsychoPy lib: refactored color handling via the :class:Color class

    CHANGES (compatibility issues):

    • Changed: the new more-flexible parameters of PsychoPy Experiment Components makes experiments from 2021.1 will not run on older versions of PsychoPy. If you share your study with people using older versions make sure you set the :ref:useVersion setting to be 2021.1.0 or upwards so that it will run elsewhere
    • Changed: PsychoJS: orientation for PsychoJS now follows clock convention rather than engineering convention (polar coordinates, positive rotation is anti-clockwise) whereas PsychoPy used the clock convention. From this release onwards both use the clock convention or orientation/rotation.
    • Changed: Slider has additional params for colors and fonts of lines/labels/marker that will not exist on older installations
    • Changed: BufferImageStim was using an incorrect rect specification for selecting the region of the screen - it was using a bottom-left instead of PsychoPy standard center #3597

    FIXES:

    • All: Curly quotation marks (“”), which are sometimes automatically put into text boxes by MacOS and certain keyboard settings, will now be automatically replaced with regular quotation marks (“) when in code. To use curly quotation marks still, you can “escape” them by putting a \ before them.
    • Lib: Fixed syntax warnings on Python 3.8 #3344
    • Lib: The Pygame audio backend can be used again. #3382
    • Lib: Several fixes to iohub ( #3348, #3399, #3412, commit psychopy/psychopy/3912167)
    • Builder/Coder: Fixed the error raised when the “Plot gamma” button in the monitor center is clicked but no calibration data is loaded. #3384
    • Coder/Builder: Correct detection of retina/high-dpi displays within wxPython on MacOS, Linux, and Windows.
    • Python Lib: TextBox stim text layout not working on linux and macOS.
    • Python Lib: various minor fixes to TextBox2
    • Coder: Miscellaneous bug fixes to demos/coder/stimuli example scripts.
    • Coder: Fixed a possible error when parsing code to build the source tree.
    • Coder: Handle error caused when closing editor tabs.
    • Builder: The “Routine” pane can no longer be- moved which broke the builder interface.
    • Coder: Make Coder's default size reasonable on fresh install. #3472
    • Coder: Bug where opening an unsupported file type raises an error. #3519
    • Coder: Fixed bug where the source tree raises and error if it comes across things it cannot correctly parse.
    • Online: Prevent Safari from beeping in full screen. psychopy/psychojs#266
    • Online: Slider sizing, tick placement, and event handling improvements. #249 #263 #264
    • Online: Fixed ShapeStim instances ignoring the closeShape property. psychopy/psychojs#245
    • Online: Support TrialHandler.Method.FULLRANDOM. psychopy/psychojs#247
    • Online: Improved mouse event accuracy overall. psychopy/psychojs#248
    • Online: Fixed ShapeStim variants ignoring the contrast property. psychopy/psychojs#250
    • Online: Fixed an issue translating ‘\n’ encoded line breaks when importing conditions files. psychopy/psychojs#251
    • Online: Fixed TextBox click handling. psychopy/psychojs#258
    • Online: Improved MovieStim autoplay. psychopy/psychojs#260
    • Online: Allow for parsing of array-like strings when setting VisualStim position or size. psychopy/psychojs#262
    • Online: Prevent Safari from beeping in full screen. psychopy/psychojs#266
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2021.1.0.zip(24.05 MB)
    StandalonePsychoPy-2021.1.0-macOS.dmg(613.38 MB)
    StandalonePsychoPy3-2021.1.0-win32.exe(316.24 MB)
    StandalonePsychoPy3-2021.1.0-win64.exe(398.05 MB)
  • 2020.2.10(Dec 4, 2020)

    Further fixes on top of the new features in 2020.2:

    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.10.zip(23.28 MB)
    StandalonePsychoPy-2020.2.10-macOS.dmg(609.93 MB)
    StandalonePsychoPy3-2020.2.10-win32.exe(314.56 MB)
    StandalonePsychoPy3-2020.2.10-win64.exe(397.29 MB)
  • 2020.2.9(Nov 27, 2020)

    Further fixes on top of the new features in 2020.2:

    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.9.zip(23.28 MB)
    StandalonePsychoPy-2020.2.9-macOS.dmg(609.96 MB)
    StandalonePsychoPy3-2020.2.9-win32.exe(314.49 MB)
    StandalonePsychoPy3-2020.2.9-win64.exe(397.29 MB)
  • 2020.2.8(Nov 21, 2020)

    FIXES:

    • support for macOS 11.1 Big Sur (updated mac pyglet to 1.5.11 and mac Python to 3.6.8)
    • fixed default blank text in textBox for online studies actually showing a pair of quotes commit:786e1d3f7
    • flag to alphabetically sort Exp Info fields was being set always true #3279
    • Position and Size params for Form Component were being requested twice commit:d45ca99c9
    • fixed annoying (but harmless) error 'ModuleNotFoundError: import of pyglet halted; None in sys.modules'
    • further fixes to Runner not showing print() statements commit:e0ec67e6f
    • Routine panels now support mouse scroll wheel to navigate commit:6da3707d3
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.8.zip(23.28 MB)
    StandalonePsychoPy-2020.2.8-macOS.dmg(609.96 MB)
    StandalonePsychoPy3-2020.2.8-win32.exe(314.42 MB)
    StandalonePsychoPy3-2020.2.8-win64.exe(397.29 MB)
  • 2020.2.6(Nov 13, 2020)

    Fixes on top of the new features in 2020.2:

    • missing resource error in some online experiments, caused by incorrect relative relative paths in Settings>Online>Resources #3285
    • JavaScript Code Components for Before Experiment is now moved earlier in the script - it needed to be positioned before first function opens #3289
    • TextBox was missing setBorderColor and setFillColor so these needed code to change dynamically commit:eb915732d
    • TextBox was carrying the text from one trial into the next commit:330f5fa1d
    • Coder FoldAll menu item was having no effect commit:6d4f66b0d
    • TextStim opacity can now be set dynamically #1045
    • Loop OK button was sometimes left disabled if invalid inputs commit:3a1104f71
    • fixed non-uniform probabilities of conditions file row selection suggested in docs #3256
    • workaround for scipy.optimize import error on windows machines that are using BitLocker #3287
    • if a TextBox is the only editable thing on the screen then give it focus #3269
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.6.zip(23.28 MB)
    StandalonePsychoPy-2020.2.6-macOS.dmg(584.62 MB)
    StandalonePsychoPy3-2020.2.6-win64.exe(397.29 MB)
  • 2020.2.5(Oct 24, 2020)

    Lots of fixes on top of the features introduced in 2020.2

    • Now code-signing the installer on Windows as well as macOS
    • Failing to send print statements to output, depending on how PsychoPy was launched commit:4773ec32d Only occured if you launch by double-clicking file or if you close Runner
    • Coder crashing on macOS when using editor with autocomplete=True commit:687e81dfb
    • ioHub fix for unicode strings commit:5451ea49a
    • Marker color on RatingScale was not resetting (but use Slider anyway!) #3140
    • Runner sometimes ran wrong script (and never knew which to stop). Now better tracking of running process #3142
    • Slider not honoring the order from the Routine (should render in order from top down) commit:9e0299544
    • JavaScript Code Components for Before Experiment were having no effect #3151
    • error with trying to poll() on a script process that was NoneType commit:cc56713cc
    • Editable textboxes were still able to be drawn if you clicked on them (even when they were not told to draw()) commit:8253f0696
    • warn against using global JS names in experiment #3177
    • Brush not being reset in JavaScript commit:88812c3bd
    • Movie reset issue #3183
    • countinueRoutine=False had no effect for online studies if in Begin Routine block
    • errors that should have appeared in the console were sometimes appearing in the (app) error dialog commit:d44f24d63
    • more tolerant of whitespace in Emotiv Client ID file
    • Runner AddTask dialog had wrong format for file filter #3213
    • Sound volume attribute was having no effect on the PTB backend #3215
    • Fixed fill/line colors of TextBox #3222
    • Error in JavaScript code when Movie Component had blank stop time commit:0b4ddcffc
    • Better handling of stdout encodings when console not set to utf-8 encoding commit:d77535906
    • Improved Resources box for the online (using relative references commit:c9558bfd8 and resize with dialog commit:d607271db)
    • JavaScript code-conversion now uses our own built-in round() function mimicking the same function in Python commit:da426d9e3
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.5.zip(23.27 MB)
    StandalonePsychoPy-2020.2.5-macOS.dmg(584.64 MB)
    StandalonePsychoPy3-2020.2.5-win32.exe(314.20 MB)
    StandalonePsychoPy3-2020.2.5-win64.exe(397.28 MB)
  • 2020.2.4(Sep 7, 2020)

    FIXES:

    • improved search for resources files whne compiling JS (was crashing if using root folder and using code to specify the conditions file) 09816985d5
    • the Before Experiment section of Code Components wasn't being written for JavaScript components bbfd310
    • error with wx complaining about Alignment (in wx 4.1) a32e2ca ae508d6
    • TextBox Component default size is None (=autoexpand)
    • TextBox editable=True had no effect on the Builder outputs to JavaScript
    • themes menu correctly updates what thte current them is in all open windows c5cdc49
    • custom fonts that didn't provide a "family name" were causing the font search to crash ef078ab
    • bug trying to us an invalid "useRunner" preference 3532e4c
    • JavaScript studies failed if there were 2 Mouse Components in a single Routine 0e0b26d4dcc 32a6be2
    • improved Big Five Inventory demo
    • blank TextBox Component should use blank string rather than None 39bf1bb
    • further fix to macOS stapling (might not have worked for users with no internet connection?)
    • Form Component now honors being set to show only at certain times (in keeping with other visual Components) 35ad5bc
    • Coder now correctly providing syntax styling for JS and C
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.4.zip(23.33 MB)
    StandalonePsychoPy-2020.2.4-macOS.dmg(584.18 MB)
    StandalonePsychoPy3-2020.2.4-win32.exe(314.13 MB)
    StandalonePsychoPy3-2020.2.4-win64.exe(397.27 MB)
  • 2020.2.3(Aug 22, 2020)

    All the highlights of the 2020.2.2 but with these FIXES:

    • Mac version now fully signed and notarized for GateKeeper! For some time it's been an annoyance that Apple would block PsychoPy because of it not being from a "known developer" but in recent updates GateKeeper has become so aggressive the app has been crashing on startup for some macOS versions. Hopefully Apple will now let us launch in peace!
    • better handling of non-loading fonts in the application On mac some fonts weren't being found (although this might be due to the now-solved gatekeeper issue)
    • auto-translate py->js for parameters with $ We were translating code components but not parameter boxes where the user was switching to code using $ #3064
    • better handling when a piece of code fails to convert (warning not error) #3063
    • show progress (in Runner) while syncing project with Pavlovia #3061
    • various fixes and additions to Japanese translations
    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.3.zip(23.31 MB)
    StandalonePsychoPy3-2020.2.3-MacOS.dmg(583.90 MB)
    StandalonePsychoPy3-2020.2.3-win32.exe(314.03 MB)
    StandalonePsychoPy3-2020.2.3-win64.exe(397.25 MB)
  • 2020.2.3rc1(Aug 19, 2020)

    Testing a new version for Mac. Many thanks to those that have helped us work out why it wasn't running on some macs. A number of issue have been solved and this is a chance to test what versions of macOS it now works on. I believe there are still some issues with Apple blocking parts of the application from working properly but hopefully we'll get a fully code-signed version working soon too.

    Source code(tar.gz)
    Source code(zip)
    PsychoPy_2020.2.3rc3.dmg(567.07 MB)
  • 2020.2.2(Aug 9, 2020)

    Couple of quick fixes (don't crash if the system has an invalid font) and added a Mac Standalone dmg

    As always be cautious - this is an early release and lots of code has changed. In particular in this version the new TextBox and Form objects are certainly in beta and should be tested carefully in your study

    For full details see https://www.psychopy.org/changelog.html

    2020.2 HIGHLIGHTS :

    • New look, including dark mode, customizable themes and new flat buttons (you can choose a Classic theme to get the old buttons back for comfort)

    • Now have an class for /editable/ text called TextBox2 (Beta testing) :

    • Form (Beta testing) components now work online and support (in both lab-based and online versions):

    • Improved Coder

    • Improved Runner

    • Online studies don't need to use html folder

    • Added support for Emotive and BrainProducts EEG hardware

    • CSV data outputs now have an option to set the delimitter (e.g. ; or \t rather than ,)

    CHANGES:

    • PsychoJS code now uses the same syntax for loop termination as PsychoPy allowing either nameOfLoop.finished=true or currentLoop.finished=true
    • Python 2.7 is no longer supported. We recommend Python versions 3.6 or 3.7 (3.8 is not tested likely to work)

    Sorry - no Mac Standalone right now but you can install using pip!

    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.2.zip(23.30 MB)
    StandalonePsychoPy3-2020.2.2-MacOS.dmg(647.39 MB)
    StandalonePsychoPy3-2020.2.2-win32.exe(313.70 MB)
    StandalonePsychoPy3-2020.2.2-win64.exe(396.19 MB)
  • 2020.2.1(Aug 7, 2020)

    As always be cautious - this is an early release and lots of code has changed. In particular in this version the new TextBox and Form objects are certainly in beta and should be tested carefully in your study

    For full details see https://www.psychopy.org/changelog.html

    2020.2 HIGHLIGHTS :

    • New look, including dark mode, customizable themes and new flat buttons (you can choose a Classic theme to get the old buttons back for comfort)

    • Now have an class for /editable/ text called TextBox2 (Beta testing) :

    • Form (Beta testing) components now work online and support (in both lab-based and online versions):

    • Improved Coder

    • Improved Runner

    • Online studies don't need to use html folder

    • Added support for Emotive and BrainProducts EEG hardware

    • CSV data outputs now have an option to set the delimitter (e.g. ; or \t rather than ,)

    CHANGES:

    • PsychoJS code now uses the same syntax for loop termination as PsychoPy allowing either nameOfLoop.finished=true or currentLoop.finished=true
    • Python 2.7 is no longer supported. We recommend Python versions 3.6 or 3.7 (3.8 is not tested likely to work)

    Sorry - no Mac Standalone right now but you can install using pip!

    Source code(tar.gz)
    Source code(zip)
    PsychoPy-2020.2.1.zip(23.23 MB)
    StandalonePsychoPy3-2020.2.1-win32.exe(313.63 MB)
    StandalonePsychoPy3-2020.2.1-win64.exe(396.18 MB)
Open Delmic Microscope Software

Odemis Odemis (Open Delmic Microscope Software) is the open-source microscopy software of Delmic B.V. Odemis is used for controlling microscopes of De

Delmic 32 Dec 14, 2022
SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications.

Scientific Computational Imaging COde (SCICO) SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications

Los Alamos National Laboratory 37 Dec 21, 2022
Animation engine for explanatory math videos

Manim is an engine for precise programatic animations, designed for creating explanatory math videos. Note, there are two versions of manim. This repo

Grant Sanderson 48.9k Jan 03, 2023
Algorithms covered in the Bioinformatics Course part of the Cambridge Computer Science Tripos

Bioinformatics This is a repository of all the algorithms covered in the Bioinformatics Course part of the Cambridge Computer Science Tripos Algorithm

16 Jun 30, 2022
Kedro is an open-source Python framework for creating reproducible, maintainable and modular data science code

A Python framework for creating reproducible, maintainable and modular data science code.

QuantumBlack Labs 7.9k Jan 01, 2023
3D medical imaging reconstruction software

InVesalius InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesaliu

443 Jan 01, 2023
Efficient Python Tricks and Tools for Data Scientists

Why efficient Python? Because using Python more efficiently will make your code more readable and run more efficiently.

Khuyen Tran 944 Dec 28, 2022
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)

Karate Club is an unsupervised machine learning extension library for NetworkX. Please look at the Documentation, relevant Paper, Promo Video, and Ext

Benedek Rozemberczki 1.8k Dec 31, 2022
Read-only mirror of https://gitlab.gnome.org/GNOME/pybliographer

Pybliographer Pybliographer provides a framework for working with bibliographic databases. This software is licensed under the GPLv2. For more informa

GNOME Github Mirror 15 May 07, 2022
CoCalc: Collaborative Calculation in the Cloud

logo CoCalc Collaborative Calculation and Data Science CoCalc is a virtual online workspace for calculations, research, collaboration and authoring do

SageMath, Inc. 1k Dec 29, 2022
An open-source application for biological image analysis

CellProfiler is a free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure

CellProfiler 734 Jan 08, 2023
Zipline, a Pythonic Algorithmic Trading Library

Zipline is a Pythonic algorithmic trading library. It is an event-driven system for backtesting. Zipline is currently used in production as the backte

Quantopian, Inc. 15.7k Jan 07, 2023
Float2Binary - A simple python class which finds the binary representation of a floating-point number.

Float2Binary A simple python class which finds the binary representation of a floating-point number. You can find a class in IEEE754.py file with the

Bora Canbula 3 Dec 14, 2021
A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Spack Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, a

Spack 3.1k Dec 31, 2022
A modular single-molecule analysis interface

MOSAIC: A modular single-molecule analysis interface MOSAIC is a single molecule analysis toolbox that automatically decodes multi-state nanopore data

National Institute of Standards and Technology 35 Dec 13, 2022
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.

Cookiecutter Data Science A logical, reasonably standardized, but flexible project structure for doing and sharing data science work. Project homepage

6.4k Jan 02, 2023
Veusz scientific plotting application

Veusz 3.3.1 Veusz is a scientific plotting package. It is designed to produce publication-ready PDF or SVG output. Graphs are built-up by combining pl

Veusz 613 Dec 16, 2022
A computer algebra system written in pure Python

SymPy See the AUTHORS file for the list of authors. And many more people helped on the SymPy mailing list, reported bugs, helped organize SymPy's part

SymPy 9.9k Jan 08, 2023
artisan: visual scope for coffee roasters

Artisan Visual scope for coffee roasters WARNING: pre-release builds may not work. Use at your own risk. Summary Artisan is a software that helps coff

Artisan – Visual Scope for Coffee Roasters 705 Jan 05, 2023
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.

Cookiecutter Data Science A logical, reasonably standardized, but flexible project structure for doing and sharing data science work. Project homepage

Jon C Cline 0 Sep 05, 2021