rOpenSci | Go for Launch! Packages Shipped to the R-Multiverse

Go for Launch! Packages Shipped to the R-Multiverse

Will Landau recently introduced the R-multiverse, a new way to publish R packages, during an rOpenSci community call.1 After that event, a coworking session allowed even more discussion between Will, his R-multiverse fellow administrators Jeroen Ooms and Maëlle Salmon, and community members.

A key mission in that coworking session was to submit packages to the R-multiverse live! Following the instructions, any package maintainer wishing to send their software to the community repository needs to:

  • create a GitHub or GitLab release of their package;
  • open a Pull Request to the contributions GitHub repository, adding a text file that contains the URL to the repository.2

Will also shared an R function that allows you to perform R-multiverse package checks locally before submitting: multiverse.internals::review_package().

Three packages were submitted during the coworking session!

🔗 Package submissions

🔗 riem, to get weather data from ASOS stations (airports) via the Iowa Environment Mesonet.

I submitted my riem package that accesses airport weather data, even if it is also distributed on CRAN: I wanted to explore different publication venues. Because the automatic checks (of the license for instance) passed and because I am a public member of a GitHub organization trusted by the multiverse (ropensci), my PR was automatically merged.

Read more about riem.

🔗 geotargets, that extends targets to work with geospatial data formats

Eric R. Scott submitted the geotargets package that extends targets to work with geospatial data formats, such as rasters and vectors (e.g., shapefiles). Eric co-authored geotargets alongside Nick Tierney and Andrew Brown, but Nick is the primary maintainer. However, it’s perfectly okay that Eric submitted the package rather than Nick. In fact, R-multiverse lets you contribute packages you didn’t write at all3, as long as the license grants clear permission to distribute and modify the code.

Read more about geotargets.

🔗 weathercan, to find and download historical weather data from Environment and Climate Change Canada (ECCC)

Steffi LaZerte submitted her weathercan package, also a weather package but for Canada! Steffi wondered whether it made sense to submit weathercan before making a bunch of fixes and enhancements she had planned over the next few weeks. Turns out that, yes it does make sense! Because the multiverse will pick up the latest release automatically. Steffi only needs to remember to create a new release after improving weathercan.

Read more about weathercan.

🔗 What’s next for those packages?

Now that these packages are in, they’re distributed through the community repository. It’s like a preview of new releases.

In a few weeks, when R-multiverse starts building the next production snapshot, they will be checked together with other packages. If they are good to go, their release at that point will be the one built into production. If there are some issues, the maintainer can still push fixes.

As long as those packages are listed in the R-multiverse, they will participate in the quarterly production snapshots. The maintainers only need to keep creating releases (good practice anyway) and to follow the status of their package on the multiverse.

For the package users to know they can install the package from the community or the production repositories, package maintainers will need to update the installation instructions in the README of their package. They could also add a badge.

🔗 What’s next for the R-multiverse?

After the posit conf talk, the rOpenSci community call, and the rOpenSci coworking session, the R multiverse is aiming at increasing participation in its system to strengthen and diversify it. New package submissions are welcome, as are questions and feature requests. You can also apply to become a package moderator to help handle new submissions.


  1. And before that in a talk at posit::conf! Stay tuned for the release of the public talk recordings on YouTube. ↩︎

  2. Or a slightly more involved JSON file if the package is in a subdirectory for instance. ↩︎

  3. Package authorship stays the same. ↩︎


Start discussion