Simple, clean pure Python 3 Zenodo API (upload, download).
Pure Python wrapper for Zenodo REST API.
Allows upload / download of data from Zenodo.
pip install pyzenodo3
Latest development
git clone https://github.com/scivision/pyzenodo3
pip install -e pyzenodo3
Here are several examples of using Zenodo from Python 3. All of them assume you have first:
import pyzenodo3
zen = pyzenodo3.Zenodo()
Get a Zenodo deposit:write
API Token.
This token must remain private, NOT uploaded to GitHub, etc.!
create a simple text file mymeta.ini
containing title, author etc. (see the example meta.ini
in this repo)
upload file to Zenodo (myApiToken is the cut-n-pasted Zenodo API text token)
python pyzenodo3.upload myApiToken mymeta.ini myfile.zip --use-sandbox
Note the --use-sandbox
is to avoid making junk uploads while testing out.
Once you're sure things are working as intended, not using that flag uploads to "real" Zenodo permanently.
Rec = zen.find_record__by_github_repo('scivision/lowtran')
This Zenodo Record contains the metadata that can be further manipulated in a simple class containing the data in dictionaries, with a few future helper methods.
Recs = zen.search('scivision')
Recs is a list
of Zenodo Records for the GitHub username queried, as in the example above.
deposit:publish
API token to keep a human-in-the-loop in case of hacking of sensor nodes.