A wrapper for the Zenodo API.
Project description
Zenodo Client
A wrapper for the Zenodo API.
💪 Getting Started
The following example shows how to use the Zenodo uploader
from zenodo_client import update_zenodo
# The ID from your deposition
SANDBOX_DEP_ID = '724868'
# Paths to local files. Good to use in combination with resources that are always
# dumped to the same place by a given script
paths = [
# os.path.join(DATABASE_DIRECTORY, 'alts_sample.tsv')
'/Users/cthoyt/Desktop/alts_sample.tsv'
]
# Don't forget to set the ZENODO_API_TOKEN environment variable or
# any valid way to get zenodo/api_token from PyStow.
update_zenodo(SANDBOX_DEP_ID, paths)
Command Line Interface
The zenodo_client command line tool is automatically installed. It can
be used from the shell with the --help
flag to show all subcommands:
$ zenodo_client --help
It can be run with zenodo_client <deposition ID> <path 1> ... <path N>
⬇️ Installation
The most recent code and data can be installed directly from GitHub with:
$ pip install git+https://github.com/cthoyt/zenodo-client.git
To install in development mode, use the following:
$ git clone git+https://github.com/cthoyt/zenodo-client.git
$ cd zenodo-client
$ pip install -e .
⚖️ License
The code in this package is licensed under the MIT License.
🙏 Contributing
Contributions, whether filing an issue, making a pull request, or forking, are appreciated. See CONTRIBUTING.rst for more information on getting involved.
🍪 Cookiecutter Acknowledgement
This package was created with @audreyr's cookiecutter package using @cthoyt's cookiecutter-python-package template.
🛠️ Development
The final section of the README is for if you want to get involved by making a code contribution.
❓ Testing
After cloning the repository and installing tox
with pip install tox
, the unit tests in the tests/
folder can be
run reproducibly with:
$ tox
Additionally, these tests are automatically re-run with each commit in a GitHub Action.
📦 Making a Release
After installing the package in development mode and installing
tox
with pip install tox
, the commands for making a new release are contained within the finish
environment
in tox.ini
. Run the following from the shell:
$ tox -e finish
This script does the following:
- Uses BumpVersion to switch the version number in the
setup.cfg
andsrc/zenodo_client/version.py
to not have the-dev
suffix - Packages the code in both a tar archive and a wheel
- Uploads to PyPI using
twine
. Be sure to have a.pypirc
file configured to avoid the need for manual input at this step - Push to GitHub. You'll need to make a release going with the commit where the version was bumped.
- Bump the version to the next patch. If you made big changes and want to bump the version by minor, you can
use
tox -e bumpversion minor
after.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for zenodo_client-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58852249bb38be919728cae904cacceeb7c6fd0605faa647452a43706941daad |
|
MD5 | 2eb1befd80c1d81aa1d908e01592d7b4 |
|
BLAKE2b-256 | 148f2456e32cf817d835febf810bf89052a07fd1d2f4e673d19c7118718cbc7e |