rOpenSci | rOpenSci News Digest, December 2024

rOpenSci News Digest, December 2024

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

🔗 R-Universe Named an R Consortium Top-Level Project

We are excited to announce that R-Universe has been named the R Consortium’s newest Top-Level Project! We’re glad to be in the company of community and infrastructure projects that have been designated critical to the R Ecosystem, such as R-hub, DBI, R-Ladies, and the R User Group program, and we are grateful for the support of the R Consortium and its Infrastructure Steering Committee (ISC).

Read more in our announcement!

🔗 Community Call “From Novice to Contributor: Making and Supporting First-Time Contributions to FOSS”

Contributing to open source can be very rewarding but also incredibly intimidating. In this community call, moderated by Hugo Gruson, our speakers, Yaoxiang Li, Pascal Burkhard, and Sunny Tseng, will share practical advice for making first contributions, how to use tools like git and testthat, and common challenges and how to overcome them.

📆 Monday, 20 January 2025 16:00 UTC 🎤 With Yi-Chin Sunny Tseng, Pascal Burkhard, Yaoxiang Li, Hugo Gruson. Check your local time + info to join + speakers bio and resources

🔗 Coworking

Read all about coworking!

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

And stay tuned for some special coworking sessions supporting first-time contributors to open source coming up in February and March 2025!

And remember, you can always cowork independently on work related to R, work on packages that tend to be neglected, or work on what ever you need to get done!

🔗 Multilingual Project

This year, we have made important progress, working with our community to create content in several languages.

We had our first community call in Portuguese and made our first translaton together with the LatinR Conference.

The progress of the Portuguese translation of our development guide is amazing!

  • 21/30 chapters + CoC - 70% - merged
  • 3/30 chapters + CoC - 10% - under first review
  • 6/30 chapters + CoC - 20% - under second review

We are very grateful to all the people who have made this possible.
We are very close to achieving our goal!

We also published the first version of our Localization and Translation Guidelines. Why and how we localize and translate our resources. Everything we developed and learned during the translations & localizations of our content is detailed in this book: the processes, the roles, and the technical tools.
We hope it will be helpful to other groups!

Stay tuned for more news and activities on multilingual projects in 2025!.

🔗 Software 📦

🔗 New packages

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

  • agroclimatico, developed by Paola Corrales together with Elio Campitelli and Natalia Gattinoni: Conjunto de funciones para calcular índices y estadísticos climáticos hidrológicos a partir de datos tidy. Incluye una función para graficar resultados georeferenciados y e información cartográfica. It has been reviewed by Verónica Cruz-Alonso and Priscilla Minotti.

Discover more packages, read more about Software Peer Review.

🔗 New versions

The following eight packages have had an update since the last newsletter: drake (7.13.11), getCRUCLdata (v1.0.2), jagstargets (1.2.3), lightr (v1.8.0), rerddap (v1.2.0), spatsoc (v0.2.8), stantargets (0.1.2), and targets (1.9.1).

🔗 Software Peer Review

There are seventeen recently closed and active submissions and 6 submissions on hold. Issues are at different stages:

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

🔗 On the blog

🔗 Calls for contributions

🔗 Calls for maintainers

If you’re interested in maintaining any of the R packages below, you might enjoy reading our blog post What Does It Mean to Maintain a Package?.

🔗 Calls for contributions

Refer to our help wanted page – before opening a PR, we recommend asking in the issue whether help is still needed.

The bib2f package, for parsing BibTeX files into tibbles, would need some help! Issue for volunteering.

🔗 Package development corner

Some useful tips for R package developers. 👀

🔗 R CMD Check results as structured data!

Here are two functions that parse the *.Rcheck folders in the given directory:

tools::check_packages_in_dir_details() gives a data frame, one line for each NOTE, WARNING or ERROR in the check logs. Therefore, one gets multiple lines per package. We can convert the output to JSON:

df <- tools::check_packages_in_dir_details(".")
toJSON(df, pretty=TRUE)
...
  {
    "Package": "EXAMPLE",
    "Version": "3.2",
    "Check": "examples",
    "Status": "ERROR",
    "Output": "Running examples in ‘EXAMPLE-Ex.R’ failed\nThe error most likely occurred in:\n\n> ### Name: core_cpp\n> ### Title: Maximization of Cross-Validateed Accuracy Methods\n> ### Aliases: core_cpp\n> \n> ### ** Examples\n> \n> # Here, the famous (Fisher's or Anderson's) iris data set was loaded\n> data(iris)\n> u=as.matrix(iris[,-5])\n> s=sample(1:150,150,TRUE)\n> \n> # The maximization of the accuracy of the vector s is performed\n> results=core_cpp(u, clbest=s,fpar = 5)\nError in core_cpp(u, clbest = s, fpar = 5) : unused argument (fpar = 5)\nExecution halted",
    "Flags": "--no-manual --no-vignettes"
  },
  {
    "Package": "EXAMPLE",
    "Version": "3.2",
    "Check": "package vignettes",
    "Status": "WARNING",
    "Output": "Located more than one ‘weave’ output file (by engine ‘knitr::rmarkdown’) for vignette with name ‘EXAMPLE’: ‘EXAMPLE.html’ (28837 bytes), ‘EXAMPLE.pdf’ (986231 bytes)\nPackage vignette without corresponding single PDF/HTML:\n  ‘EXAMPLE.Rmd’",
    "Flags": "--no-manual --no-vignettes"
  }

To instead obtain the final “conclusion” for each package log, use this:

output <- tools:::check_packages_in_dir_results(".")
output$EXAMPLE
$status
[1] "ERROR"

$lines
...
[8] "* checking examples ... ERROR"
[9] "* checking package vignettes ... WARNING"

🔗 The CRAN cookbook

The CRAN Cookbook by Jasmine Daly and Beni Altmann with participation of Heather Turner is a guide for solving common (and often recurring) issues spotted by CRAN volunteers during package submissions and re-submissions. The guide present practical “recipes” organized by different parts of the package structure.

🔗 usethis 3.1.0

For those using the usethis package for their package development tasks, here are two highlights from the 3.1.0 release:

  • use_vignette() and use_article() now support Quarto (not as default yet).
  • use_tidy_upkeep_issue() records the year it is being run in the Config/usethis/upkeep field in DESCRIPTION. If this value exists, it is used to filter the checklist when making the issue.”

🔗 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. You can also support our work through donations.

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 Mastodon account.