Package 'zendown'

Title: Access Files from 'Zenodo' Deposits
Description: Access, download and locally cache files deposited on 'Zenodo' <https://zenodo.org>.
Authors: Raphael Saldanha [aut, cre]
Maintainer: Raphael Saldanha <[email protected]>
License: MIT + file LICENSE
Version: 0.1.0
Built: 2025-02-14 05:27:28 UTC
Source: https://github.com/rfsaldanha/zendown

Help Index


Cache report

Description

Print a report at the console with cache statistics

Usage

cache_report(cache_type = NULL, cache_dir = NULL)

Arguments

cache_type

character. Use temporary to a session temporary folder, persistent for a persistent cache folder or NULL to use the environment default. Check the section Cache Type for more details.

cache_dir

character. User specified cache directory for persistent cache type.

Value

No return value. The function prints a report on the console.

Examples

mirror_deposit(deposit_id = 10959197)
cache_report()

Delete a deposit mirror

Description

This function will delete all mirrored files stored locally.

Usage

delete_mirror(deposit_id, cache_type = NULL, cache_dir = NULL)

Arguments

deposit_id

numeric. The Zenodo deposit id.

cache_type

character. Use temporary to a session temporary folder, persistent for a persistent cache folder or NULL to use the environment default. Check the section Cache Type for more details.

cache_dir

character. User specified cache directory for persistent cache type.

Value

No return value. The function deletes mirrored on the system.

Examples

# https://zenodo.org/records/10959197
file_path <- zen_file(10959197, "iris.rds")
print(file_path)
file.exists(file_path)
delete_mirror(10959197)
file.exists(file_path)

Download files from a Zenodo deposit

Description

Download files from a Zenodo deposit

Usage

download_deposit(list_deposit, file_name = NULL, dest, quiet = FALSE)

Arguments

list_deposit

data.frame or tibble. Obtained with list_deposit.

file_name

character. If NULL, all files from the file list. If a file name is specified, only this file will be downloaded.

dest

character. Destination folder.

quiet

logical. Show download info and progress bar.

Value

No return value. The function downloads files to the specified destination.

Examples

res <- list_deposit(deposit_id = 10959197)
temp_dir <- tempdir()
download_deposit(list_deposit = res, dest = temp_dir, quiet = FALSE)
file.exists(file.path(temp_dir, "iris.rds"))
file.exists(file.path(temp_dir, "mtcars.rds"))

Get a list of files available at a Zenodo deposit

Description

Get a list of files available at a Zenodo deposit

Usage

list_deposit(deposit_id)

Arguments

deposit_id

numeric. The Zenodo deposit id.

Value

a tibble.

Examples

# https://zenodo.org/records/10959197
list_deposit(deposit_id = 10959197)

Mirror a Zenodo deposit locally

Description

Mirror an entire Zenodo deposit or a specific file locally. The mirror is a folder with the deposit files created at the cache folder of the operating system.

Usage

mirror_deposit(
  deposit_id,
  file_name = NULL,
  cache_dir = NULL,
  cache_type = NULL,
  clear_cache = FALSE,
  quiet = FALSE
)

Arguments

deposit_id

numeric. The Zenodo deposit id.

file_name

character. If NULL, all files from the file list. If a file name is specified, only this file will be downloaded.

cache_dir

character. User specified cache directory for persistent cache type.

cache_type

character. Use temporary to a session temporary folder, persistent for a persistent cache folder or NULL to use the environment default. Check the section Cache Type for more details.

clear_cache

logical. If the mirror already exists, clear its content.

quiet

logical. Show download info and progress bar.

Value

a string with the mirror path.

Cache type

The Zenodo mirror will be cached locally on a system folder. This folder can be temporary, being cleared when the R session is ended, or persistent across sections and reboots.

If the cache_type argument is NULL (the default) the package will check first the environment variable zendown_cache_type. If set, the package will use its value. If not set, a temporary cache folder will be used as default.

You can set an environment variable with usethis::edit_r_environ() and write as bellow for a persistent cache storage.

zendown_cache_type = "persistent"

After saving the file, remember to restart the session. With this setting, the cache will be persistent and stored at the directory given by tools::R_user_dir("zendown", which = "cache")

You may also use a different folder for persistent storage by setting the zendown_cache_dir environment variable. For example:

⁠zendown_cache_dir = C:\my_cache\⁠

If you set the cache_type argument directly as temporary or persistent, it will override the environment setting.

Examples

# https://zenodo.org/records/10959197
mirror_path <- mirror_deposit(deposit_id = 10959197)
file.exists(file.path(mirror_path, "iris.rds"))
file.exists(file.path(mirror_path, "mtcars.rds"))

Access a Zenodo deposit file

Description

Get the local path to a Zenodo deposit file. It not cached in a mirror yet, it will download the file to a deposit mirror cache locally.

Usage

zen_file(
  deposit_id,
  file_name,
  cache_type = NULL,
  cache_dir = NULL,
  clear_cache = FALSE,
  quiet = FALSE
)

Arguments

deposit_id

numeric. The Zenodo deposit id.

file_name

character. If NULL, all files from the file list. If a file name is specified, only this file will be downloaded.

cache_type

character. Use temporary to a session temporary folder, persistent for a persistent cache folder or NULL to use the environment default. Check the section Cache Type for more details.

cache_dir

character. User specified cache directory for persistent cache type.

clear_cache

logical. If the mirror already exists, clear its content.

quiet

logical. Show download info and progress bar.

Value

a string with the mirror file path.

Cache type

The Zenodo mirror will be cached locally on a system folder. This folder can be temporary, being cleared when the R session is ended, or persistent across sections and reboots.

If the cache_type argument is NULL (the default) the package will check first the environment variable zendown_cache_type. If set, the package will use its value. If not set, a temporary cache folder will be used as default.

You can set an environment variable with usethis::edit_r_environ() and write as bellow for a persistent cache storage.

zendown_cache_type = "persistent"

After saving the file, remember to restart the session. With this setting, the cache will be persistent and stored at the directory given by tools::R_user_dir("zendown", which = "cache")

You may also use a different folder for persistent storage by setting the zendown_cache_dir environment variable. For example:

⁠zendown_cache_dir = C:\my_cache\⁠

If you set the cache_type argument directly as temporary or persistent, it will override the environment setting.

Examples

# https://zenodo.org/records/10959197
zen_file_path <- zen_file(10959197, "iris.rds")
print(zen_file_path)
file.exists(zen_file_path)