Zenodo_get - a downloader for Zenodo records
Project description
zenodo_get: a downloader for Zenodo records
A Python tool for downloading files from Zenodo records. Requires Python 3.10+.
Installation
The simplest way (no installation needed) is using uvx, a tool runner from uv:
uvx zenodo_get RECORD_ID_OR_DOI
Alternatively, install with pipx or pip:
pipx install zenodo-get
# or
pip install zenodo-get
Usage
uvx zenodo_get RECORD_ID_OR_DOI
Common Options
| Option | Description |
|---|---|
-o DIR |
Output directory (created if needed) |
-g PATTERN |
Filter files by glob pattern (e.g., -g "*.pdf") |
-m |
Generate md5sums.txt for verification |
-w FILE |
Write URLs to file instead of downloading (-w - for stdout) |
-e |
Continue on error (skip failed files) |
-n |
Start fresh (don't resume previous download) |
-v N |
Verbosity level 0-4 (default: 2) |
Retry Options
| Option | Description |
|---|---|
--max-http-retries N |
HTTP retries with exponential backoff (default: 5) |
--backoff-factor N |
Backoff multiplier in seconds (default: 0.5) |
-R N |
Application-level retries for checksum failures (default: 1) |
-p N |
Pause between retries in seconds (default: 3) |
-t N |
Connection timeout in seconds (default: 25) |
Examples
# Download all files from a record
uvx zenodo_get 1234567
# Download only PDFs to a specific directory
uvx zenodo_get 1234567 -g "*.pdf" -o ./downloads
# Generate URL list for external download manager
uvx zenodo_get 1234567 -w urls.txt
# Use DOI instead of record ID
uvx zenodo_get -d 10.5281/zenodo.1234567
Exit Codes
0: All files downloaded successfully- Non-zero: Error occurred (checksum mismatch, download failure, timeout, etc.)
Python API
You can use zenodo_get as a library in your Python projects.
Installation
# Add to your project
uv add zenodo-get
# or
pip install zenodo-get
Usage
from zenodo_get import download
# Download all files from a record
download("10.5281/zenodo.1234567", output_dir="./data")
# Download only specific files using glob pattern
download(
record_or_doi="1234567",
output_dir="./data",
file_glob="*.csv",
)
# Multiple glob patterns
download(
record_or_doi="1234567",
output_dir="./data",
file_glob=["*.csv", "*.json"],
)
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
record_or_doi |
str |
- | Zenodo record ID or DOI |
output_dir |
str | Path |
"." |
Output directory |
file_glob |
str | tuple |
"*" |
Filter files by glob pattern(s) |
md5 |
bool |
False |
Generate md5sums.txt |
continue_on_error |
bool |
False |
Continue on download errors |
start_fresh |
bool |
False |
Don't resume previous download |
timeout |
float |
15.0 |
Connection timeout in seconds |
exceptions_on_failure |
bool |
True |
Raise exceptions on errors |
Citation
If you use this tool in academic work:
uvx zenodo_get --cite
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zenodo_get-3.0.1.tar.gz.
File metadata
- Download URL: zenodo_get-3.0.1.tar.gz
- Upload date:
- Size: 37.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
226d533c232afbc46fd75c38ed5132ba171c51e62f0557fcc23bdd7d9e3e458c
|
|
| MD5 |
95ca1e0608f50d3ec25dea15597d3629
|
|
| BLAKE2b-256 |
bdf4c459e922842e44ee4a9446caa068627b35d390b3cbd6d87f64843e3df36b
|
File details
Details for the file zenodo_get-3.0.1-py3-none-any.whl.
File metadata
- Download URL: zenodo_get-3.0.1-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
664b952dead2bb81b57949d75df31ed25e1f0a2a67c236e2590cfc71fc93311f
|
|
| MD5 |
811008f5902c1e0d9ed6b1975792c205
|
|
| BLAKE2b-256 |
5f77dc37f57cfcffd5a4b2ad273644b852e3d4962df02d8f44c9f4cb06bf1294
|