rOpenSci | rOpenSci News Digest, January 2022

rOpenSci News Digest, January 2022

Dear rOpenSci friends, it’s time for our monthly news roundup!

You can read this post on our blog. Now let’s dive into the activity at and around rOpenSci!

🔗 rOpenSci HQ

🔗 Co-working events

Join us for social coworking & office hours monthly on 1st Tuesdays! Hosted by Steffi LaZerte and Nick Tierney. Everyone welcome. No RSVP needed. Consult our Events page to find your local time and how to join.

Our next sessions are:

Find out about more events.

🔗 Community Management transition for rOpenSci

The fantastic Stefanie Butland has moved on from her position as rOpenSci’s community manager. Her blog post summarized the incredible work she’s done over the last 5.5 years. As for rOpenSci’s future new community manager, it might be you: keep an eye out for a job posting in February and even before that, email [email protected] if you think you might be interested.

🔗 An update on R-universe

We are making steady progress on the development of R-universe, rOpenSci’s open platform for publishing and discovering R packages and other research material. Currently R-universe is tracking 3548 R packages and 3602 articles from 851 maintainers in 384 cranlike repositories. Over the past months we have added several new API’s and front-end features, including support for badges, rss feeds, orcid links, and support for renv to restore packages from R-universe for reproducibility purposes.

Under the hood we made a fundamental change to give maintainers a more central role in R-universe: the dashboards and APIs for https://{user} now also include packages and articles from other organizations that are maintained by that user, while cross-linking maintainers and organizations. This should make it easier to browse content help you discover interesting researchers and material.

🔗 Software 📦

🔗 New packages

The following package recently became a part of our software suite:

  • gittargets, developed by William Michael Landau: Pipelines with the targets R package (2021, doi:10.21105/joss.02959) skip steps that are up to already date. Although this behavior reduces the runtime of subsequent runs, it comes at the cost of overwriting previous results. So if the pipeline source code is under version control, and if you revert to a previous commit or branch, the data will no longer be up to date with the code you just checked out. Ordinarily, you would need to rerun the pipeline in order to recover the targets you had before. However, gittargets preserves historical output, creating version control snapshots of data store. Each data snapshot remembers the contemporaneous Git commit of the pipeline source code, so you can recover the right data when you navigate the Git history. In other words, gittargets makes it possible to switch commits or branches without invalidating the pipeline. You can simply check out the up-to-date targets from the past instead of taking the time to recompute them from scratch. It is available on CRAN. It has been reviewed by Saras Windecker, and David Neuzerling.

Discover more packages, read more about Software Peer Review.

🔗 New versions

The following twenty-two packages have had an update since the last newsletter: rotemplate (bs3-final), aRxiv (0.6), cffr (v0.2.1), chirps (v0.1.4), essurvey (v1.0.8), excluder (v0.3.3), fingertipsR (v1.0.8), gittargets (0.0.1), jagstargets (1.0.1), lingtypology (v1.1.8), nasapower (v4.0.3), nodbi (v0.7.0), opentripplanner (0.4.0), riem (v2.0.0), rotl (v3.0.12), tarchetypes (0.4.1), targets (0.10.0), terrainr (v0.5.1), tesseract (v5.0.0), tic (v0.11.3), weathercan (v0.6.2), and webchem (v1.1.2).

🔗 Software Peer Review

There are nineteen recently closed and active submissions and 4 submissions on hold. Issues are at different stages:

Find out more about Software Peer Review and how to get involved.

🔗 On the blog

🔗 Tech Notes

🔗 Use cases

One use cases of our packages and resources have been reported since we sent the last newsletter.

Explore other use cases and report your own!

🔗 Call for maintainers

There are no open calls for new maintainers at this point but you can refer to our contributing guide for finding ways to get involved! As the maintainer of an rOpenSci package, feel free to contact us on Slack or email [email protected] to get your call for maintainer featured in the next newsletter.

🔗 Package development corner

Some useful tips for R package developers. 👀

🔗 To quote or not to quote (non-existing words in DESCRIPTION)?

To avoid spelling NOTEs, it is recommended to “Put the names of R packages, software, and APIs inside single quotes.” in DESCRIPTION (as phrased in the R packages book by Hadley Wickham and Jenny Bryan).

Now, there is a hack allowing you to not add the quotes, as seen in e.g. RPostgres. Say you use the non-existing words “changelog” and “versioning” in the DESCRIPTION of your package coolstuff. Two steps!

  • Run saveRDS(c("versioning", "changelog"), file = ".aspell/coolstuff.rds", version = 2) which will create a file with these words!
  • Add a script .aspell/defaults.R that will refer to both the standard dictionary (“en_stats”) and the one you just created (“coolstuff”).
Rd_files <- vignettes <- R_files <- description <-
    list(encoding = "UTF-8",
         language = "en",
         dictionaries = c("en_stats", "coolstuff"))

Voilà, goodbye quotes in DESCRIPTION! Thanks to Jim Hester and Kirill Müller for this cool trick that’s not used a lot (yet?). It is documented in R, see the sentence beginning with “Suitable values for” in

🔗 potools: Translate your package user-facing communications like messages, warnings, and errors

Your package might be used by people at ease in different languages than the one you initially wrote e.g. error messages in. The potools package maintained by Michael Chirico provides “Tools for Portability and Internationalization of R packages”. It features great vignettes including one for package developers and one for package translators. The potools package is used in particular in the pkgdown package (user-facing docs for the language option).

🔗 How to provide tibbles only to those who like them

“Only use tibbles if tibble installed”: this sounds great, doesn’t it? It’s the title of a PR by Hadley Wickham to the palmerpenguins package maintained by Allison Horst. Key to this PR is the use of delayedAssign() in data/penguins.R. The code changes are small enough to make this a really cool trick!

🔗 Last words

Thanks for reading! If you want to get involved with rOpenSci, check out our Contributing Guide that can help direct you to the right place, whether you want to make code contributions, non-code contributions, or contribute in other ways like sharing use cases.

If you haven’t subscribed to our newsletter yet, you can do so via a form. Until it’s time for our next newsletter, you can keep in touch with us via our website and Twitter account.