Can't push my experiment contents to Pavlovia

If this template helps then use it. If not then just delete and start from scratch.

OS (e.g. Win10): Win 11
PsychoPy version (e.g. 2024.2.4 Py 3.8): 2025.2.2
Standard Standalone Installation? y
Do you want it to also run online? y
What are you trying to achieve?:
Push my experiment from builder to pavlovia but I keep getting error codes local (even though the experiment runs fine local) and when pushing it to pavlovia. The experiment appears on pavlovia but the repository is empty.

What did you try to make it work?:
Initially, in the repository it showed that I need add an SSH key to upload all my files. I did this. Deleted the experiment and reuploaded it from scratch. Still doesn’t work.

Link to the most relevant existing thread you have found:

What specifically went wrong when you tried that?:
Traceback (most recent call last):
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\builder\builder.py”, line 1663, in onPavloviaSync
pavlovia_ui.syncProject(parent=self, file=self.filename, project=self.project)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\pavlovia_ui\project.py”, line 842, in syncProject
committed = functions.showCommitDialog(parent, project, initMsg=“”)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\pavlovia_ui\functions.py”, line 125, in showCommitDialog
changeDict, changeList = project.getChanges()
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\projects\pavlovia.py”, line 1257, in getChanges
for this in self.repo.index.diff(None):
File “C:\Program Files\PsychoPy\lib\site-packages\git\index\base.py”, line 1532, in diff
return super().diff(other, paths, create_patch, **kwargs)
File “C:\Program Files\PsychoPy\lib\site-packages\git\diff.py”, line 276, in diff
index = diff_method(self.repo, proc)
File “C:\Program Files\PsychoPy\lib\site-packages\git\diff.py”, line 767, in _index_from_raw_format
handle_process_output(
File “C:\Program Files\PsychoPy\lib\site-packages\git\cmd.py”, line 226, in handle_process_output
finalizer(process)
File “C:\Program Files\PsychoPy\lib\site-packages\git\util.py”, line 512, in finalize_process
proc.wait(**kwargs)
File “C:\Program Files\PsychoPy\lib\site-packages\git\cmd.py”, line 419, in wait
raise GitCommandError(remove_password_if_present(self.args), status, errstr)
git.exc.GitCommandError: Cmd(‘C:\Program Files\PsychoPy\MinGit\cmd\git.exe’) failed due to: exit code(128)
cmdline: C:\Program Files\PsychoPy\MinGit\cmd\git.exe diff --abbrev=40 --full-index -M --raw -z --no-color

I don’t think SSH is the answer.

Might you have a corrupt Excel file?

Also - when you deleted, did you delete the local hidden git folder?

This tip may not work with an empty repository.

This is another error, just from opening the file. Also when I click on the file straight away sometimes it opens coder and runner but not the builder the experiment is in.
Traceback (most recent call last):
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app_psychopyApp.py”, line 1237, in onIdle
idle.doIdleTasks(app=self) # run once
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\idle.py”, line 140, in doIdleTasks
_doTask(taskName, app)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\idle.py”, line 177, in _doTask
currentTask’func’
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\app\pavlovia_ui\menu.py”, line 103, in setUser
pavlovia.login(token)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\projects\pavlovia.py”, line 153, in login
currentSession.setToken(token)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\projects\pavlovia.py”, line 450, in setToken
self.startSession(token)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\projects\pavlovia.py”, line 483, in startSession
self.gitlab.auth()
File “C:\Program Files\PsychoPy\lib\site-packages\gitlab\client.py”, line 391, in auth
self.user = self._objects.CurrentUserManager(self).get()
File “C:\Program Files\PsychoPy\lib\site-packages\gitlab\exceptions.py”, line 346, in wrapped_f
return f(*args, **kwargs)
File “C:\Program Files\PsychoPy\lib\site-packages\gitlab\mixins.py”, line 122, in get
server_data = self.gitlab.http_get(self.path, **kwargs)
File “C:\Program Files\PsychoPy\lib\site-packages\gitlab\client.py”, line 804, in http_get
result = self.http_request(
File “C:\Program Files\PsychoPy\lib\site-packages\gitlab\client.py”, line 764, in http_request
raise gitlab.exceptions.GitlabAuthenticationError(
gitlab.exceptions.GitlabAuthenticationError: 401: invalid_token

Does this help?

For the local error, yes. When 'i’m logged in the error didn’t come up. But for the original issue of my files not uploading to pavlovia, it didn’t. Now when I try to sync, psychopy says file doesn’t belong to an existing project, even though the project is on pavlovia, although with an empty repository. When I press create project, the unhandled error comes up again (the one with the error code 128).

It would be worth updating to 2025.2.4 and deleting your local GIT folder before you try again.

Hi,

We have tried 2025.2.4 version and it still doesn’t work. The experiment has 120 video stimuli ( about 4 seconds each in .mp4 format) in some of the fail message the videos were quoted, and still, nothing is uploaded into the repository.

Hello @im-toth

You can upload files to your repository “manually”

Does this help?

Best wishes Jens

Hi Jens,

Unfortunately, it doesn’t help. I tried this, but I can only upload one file at a time and I have hundreds.

Kind regards,

Inez

If you remove your video files from your local folder, can you sync? If so, then you might be able to add them back in to reload them later. What is the total size of all of your videos put together? If they add up to more that 500 Mb, that might be the issue and you should consider whether your study is suitable for running online – it could take a long time for participants to download all of the materials and the experiment might have memory issues while running.

Hello @im-toth

This indicates that you security-token is either expired, invalid or corrupt. Log out from Pavlovia,

restart PsychoPY and try to log in.

If this does not help, close PsychoPy, rename the folder psychopy3in %appdata%\Roaming\psychopy3\pavloviato psychopy3old. Restart PsychoPy and try to log in to Pavlovia. However, this is a last resort and you should try the other options first, e.g. syncing without the video files.

This indicates that the connection between the local copy and the remote repository it absent. git does not “know” that your local copy belongs to a remote project. If your remote project is still empty, it might be best to restore the connection.

  • close PsychoPy
  • delete or rename the hidden folder .git and the hidden file .gitignorein your experiment folder
  • restart PsychoPy and open your experiment. When you then sync, PsychoPy should ask you if you want to create a new project or connect to an existing project. If you select the empty and existing project, PsychoPy will try to connect the local files with your remote repository.
  • Pay attention that the project-name and the name of the local folder are the same. Do not use a (or multiple) space(s) in your project or folder name.

You can also try manually resetting the connection between your folder and the repository using the command line..

  • start a command line
  • cd to your experiment folder
  • git init
  • git remote add origin https://gitlab.pavlovai.org/YOURUSERNAME/PROJECTNAME.git
  • git add .
  • git commit -m “manual initial commit”
  • git push -u origin master

Only use web-safe characters: letters, numbers, underscores and hyphens for your local folder name and your project. Also, git is case-sensitive.

Anyway, try syncing without videos first before applying this method.

Best wishes Jens