Pure Python wrapper for Zenodo REST API.
Allows upload / download of data from Zenodo.
pip install pyzenodo3Latest development
git clone https://github.com/scivision/pyzenodo3
pip install -e pyzenodo3Here 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:writeAPI Token. This token must remain private, NOT uploaded to GitHub, etc.! -
create a simple text file
mymeta.inicontaining title, author etc. (see the examplemeta.iniin 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.
- We don't use
deposit:publishAPI token to keep a human-in-the-loop in case of hacking of sensor nodes.