Experiment sharing and publishing

These instructions are not in a final form (2021-04).

See the prerequisite and be sure to be familiar with

Experiments may be published at any point of their lifecyle. They may first be registered in our cakes repository serving as a way to record experiments and the changes made to them. They may later be posted and synchronised with the web site, but not necessarily made accessible through a published link. Then they may be made visible on the web site and the results (in fact the full repository content) may be published in a bona fide research data repository: we provide the example for doing this on zenodo.

Sharing experiments in the cakes repository

You will need an account from the cakes git repository. Then you need to ask for the creation of the ${LABEL} repository. Both can be achieved by sending an email to or

Then perform from your git directory:

$ git remote add origin${LABEL}.git
$ git branch --set-upstream-to=origin/master master
$ git push --all
$ git push --tags
alternatively you can clone the empty ${LABEL}.git repo (with ssh, not https) and add your stuff in it.

This can, and preferably should, be done early (as early as the design stage). This could play the role of preregistration. In this case, it is useful to push and tag the changes at all steps during design.

Creating a clean zip archive

Create a zip file containing all results (make sure the folder contains only files of interest):

$ git submodule deinit --all              # beware that there is no stuff there (compile results)
$ git reflog expire --all --expire=now    # next instructions to reduce the size of the zip
$ git gc --prune=now --aggressive
$ cd ..
$ zip -r -q ${LABEL}.zip ${LABEL}/        # Takes the .git as well

Publishing experiments on the web site

The generated html file can be made available online. The experiment should be found under${LABEL} as soon as you registered it in the cakes repository.

For that reason, it is good that the notebook provides direct access to the various resources: and, input, result and the zip files containing all this.

To have it indexed on the index, ask for it as the same address as above.

The page can still be updated from the git repository, for instance, for adding within the notebook image a link to the results when published on or Zenodo.

Instructions to publish results on Zenodo

In order to record an experiment under Zenodo, you first need to create a zenodo account. All the process can be achieved through the website, we describe the command line approach.

Get a zenodo token from this link and assign it to a variable:


Declare a new deposition:

$ curl -i -H "Content-Type: application/json" -X POST --data '{"metadata": {"title": "'${LABEL}'", "upload_type": "dataset", "description": "description of experiment here", "creators": [{"name": "creator 1", "affiliation": "inria"}, {"name": "creator 2", "affiliation": "inria"}]}}'\?access_token\=${TOKEN}

Find in the returned json the id of the created deposition under "id" key and assign it to a variable:


Upload the zip with:

curl -i${ID}/files?access_token=${TOKEN} -F name=${LABEL}.zip -F file=@${LABEL}.zip

Publish the deposition:

curl -i -X POST${ID}/actions/publish?access_token=${TOKEN}

It is also possible to upload new versions of depositions.