Skip to content
Simple, clean pure Python 3 Zenodo API (upload, download).
Python
Branch: master
Clone or download
Latest commit 5e88be3 Nov 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
archive
pyzenodo3
tests
.coveragerc
.flake8
.gitignore
CODE_OF_CONDUCT.md
LICENSE.txt
README.md
meta.ini
mypy.ini
pyproject.toml
pytest.ini
search_zenodo.py
setup.cfg
setup.py
upload_zenodo.py

README.md

DOI

Actions Status

pypi versions PyPi Download stats

PyZenodo

Pure Python wrapper for Zenodo REST API.

Allows upload / download of data from Zenodo.

Install

python -m pip install pyzenodo3

Latest development

pip install -e pyzenodo3

Usage

Here are several examples of using Zenodo from Python 3. All of them assume you have first:

import pyzenodo3

zen = pyzenodo3.Zenodo()

Upload file to Zenodo

  1. Get a Zenodo deposit:write API Token. This token must remain private, NOT uploaded to GitHub, etc.!

  2. create a simple text file mymeta.ini containing title, author etc. (see the example meta.ini in this repo)

  3. upload file to Zenodo (myApiToken is the cut-n-pasted Zenodo API text token)

    ./upload_zenodo.py myApiToken mymeta.ini myfile.zip

Find Zenodo record by Github repo

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.

Find Zenodo records by Github username

Recs = zen.search('scivision')

Recs is a list of Zenodo Records for the GitHub username queried, as in the example above.

Notes

  • We don't use deposit:publish API token to keep a human-in-the-loop in case of hacking of sensor nodes.
You can’t perform that action at this time.