Publication Toolkit for Water, Sanitation and Hygiene (WASH) Data

A toolkit to set up an R data package in a consistent structure. Automates tasks like tidy data export, data dictionary documentation, README and website creation, and citation management.


washr

CRANstatus R-CMD-check License: GPLv3

washr turns a cleaned dataset into a documented R data package that follows the FAIR principles, with a website, a citation file and machine readable metadata. It is the toolkit behind the openwashdata data packages, and it works for any group that publishes open data as an R package.

Installation

The stable release, from CRAN:

install.packages("washr")

The current development build, from the openwashdata R-universe. It is rebuilt on every push and installs like any other package, with no compiler toolchain:

install.packages("washr", repos = c("https://openwashdata.r-universe.dev", getOption("repos")))

The same development source from GitHub, built on your machine:

# install.packages("remotes")
remotes::install_github("openwashdata/washr")

What washr does

The stable core scaffolds and documents the package, one function per step, in the order you run them:

  • setup_ci() adds the R CMD check workflow the review standard requires.
  • setup_rawdata() creates data-raw/ and the processing script.
  • setup_dictionary() writes the variable dictionary from the data objects, and update_dictionary() brings it in line with the data after a change.
  • setup_roxygen() writes the roxygen documentation from the dictionary.
  • update_description() completes DESCRIPTION to the openwashdata standard.
  • setup_readme() writes the README from the template.
  • setup_website() writes the pkgdown configuration and builds the site.
  • use_brand() installs the openwashdata brand for the site.
  • update_citation() writes the citation files, with the DOI once there is one, and the .zenodo.json that files the release on Zenodo as a dataset.

check_publication_readiness() then reports, item by item, what is in place and what is still missing before the release.

The FAIR layer is one experimental function. update_metadata() derives a schema.org description of the dataset from the files above and embeds it in the site, where dataset search engines read it.

Every function reads what is there, merges its changes, and is safe to run again.

A package scaffolded with washr meets the required tier of the openwashdata review standard, pkgreview. A workflow builds a fixture package on every push and checks it against the pkgreview version recorded in PKGREVIEW_FLOOR.

How to use washr

The Get started page walks through the workflow in order, and the Reference page documents each function. The publishing guide covers the same steps with more explanation and the parts outside R, such as the GitHub repository and the Zenodo release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("washr")

1.2.0 by Lars Schöbitz, 7 days ago


https://openwashdata.github.io/washr/


Report a bug at https://github.com/openwashdata/washr/issues


Browse source code at https://github.com/cran/washr


Authors: Mian Zhong [aut] , Margaux Götschmann [aut] (ORCID: , Colin Walder [aut] , Lars Schöbitz [aut, cre] (ORCID: , Global Health Engineering , ETH Zurich [cph]


Documentation:   PDF Manual  


GPL (>= 3) license


Imports cffr, cli, desc, jsonlite, pkgdown, rlang, tools, usethis, utils, yaml, lifecycle

Suggests brand.yml, devtools, knitr, remotes, rmarkdown, testthat, withr


See at CRAN