zenodo-rs
Async Rust client for core Zenodo workflows.
It covers deposition create/update/publish flows, safe draft reuse versus newversion, published-record lookup, latest-version resolution, and downloads behind a small typed API for automation and CI jobs built on top of the Zenodo REST API.
Start Here
- Use
ZenodoClientfor the main entrypoint. - Use
workflowfor safe draft, publish, edit, and version helpers. - Use
recordsfor published-record lookup, DOI resolution, and search. - Use
downloadsfor file and archive downloads. - Use
DepositMetadataUpdateandUploadSpecto describe what you want to publish.
Install
[]
= "0.1"
= { = "1", = ["macros", "rt-multi-thread"] }
Optional features:
checksums: validate Zenodomd5:checksums when downloading to a pathnative-tls: usereqwestwithnative-tlsinstead of the defaultrustls-tls
Read Example
use ZenodoClient;
async
Publish Example
use ;
async
Authentication
ZENODO_TOKENis the standard env var for the production service at zenodo.org.ZENODO_SANDBOX_TOKENis the sandbox equivalent for sandbox.zenodo.org.- Write flows usually need
deposit:writeanddeposit:actions.
Notes
Public download APIs use Zenodo IDs and selectors rather than raw URLs, and uploads require a known content length. For Zenodo-side behavior and token scopes, see the Zenodo developer docs.