Upload RO-Crates to Zenodo and automatically fill the Zenodo metadata.
This package uses the legacy Zenodo API and is not compatible with other InvenioRDM instances. For RO-Crate uploads using the InvenioRDM API, use the rocrate-inveniordm package instead.
Install from PyPI using pip
or your preferred package manager:
pip install rocrate-zenodo
Create a file called ~/.config/zenodo.ini
on your computer with the following contents:
# if using the Zenodo sandbox
[zenodo:sandbox]
sandbox_api_token =
# if using the real Zenodo
[zenodo]
api_token =
Now create a Zenodo access token:
deposit:write
and deposit:actions
.~/.config/zenodo.ini
file.The resulting file should look like this:
# if using the Zenodo sandbox
[zenodo:sandbox]
sandbox_api_token = your-sandbox-token-here
# if using the real Zenodo
[zenodo]
api_token = your-token-here
The rocrate-zenodo
package will read this token whenever it connects to Zenodo in order to perform actions under your account. It's recommended to use the Zenodo sandbox until you're confident using the package.
To upload a crate to Zenodo sandbox:
rocrate_zenodo -s demo/demo_crate
Replace demo/demo_crate
with the path to the RO-Crate directory you want to upload. The -s
flag sets the destination to the Zenodo sandbox; you can omit -s
to upload to real Zenodo.
Once complete, you should see the draft record in your Zenodo dashboard.
For further help and options, run:
rocrate_zenodo --help
givenName
and familyName
on authors of the RO-Crate. This ensures that author names are formatted correctly in Zenodo.https://spdx.org/licenses/CC-BY-NC-SA-4.0.html
. Other URIs for licenses are not currently well supported.See the Developer Guide.