rOpenSci | rOpenSci News Digest, May 2022

rOpenSci News Digest, May 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

🔗 R-universe prominently displays more information on packages!

We have extended the r-universe.dev platform to provide even more real-time information and metadata about R packages to help users quickly find and compare relevant software for a given topic, maintainer or organization:

In addition to descriptive information about the package and its authors, the dashboard now shows some basic usage metrics, such as the number of GitHub stars, (transitive) dependencies, and dependents, and an overall score that we use to rank search results (similar to pagerank).

Package card on R-universe, including a count of github stars, (transitive) dependencies / dependent packages and an overall score of the package (similar to pagerank)

You will see these numbers both in the search results and in package individual pages (we’ll be posting a more detailed technote about the search ranking soon).

Top of a package individual pages featuring the same badges.

These metrics are not the only improvement to package individual pages: You might have also noticed readme content and installation instructions:

Installation instructions on a package individual page, ready to be copy-pasted.

And towards the bottom of the page you can find information about the commit and release activity, contributors, and reverse dependencies of the package:

List of 'users' of a package, that is a list of links to reverse dependencies.

Happy space travels! 🚀 Please report bugs or feature requests to our central station.

🔗 pkgcheck updates

Our automated package checking system was extended last month to include a report on package dependency use. Another check has been added this month which indicates if a package has any functions with names duplicated in other packages. Having unique function names is the best way to avoid namespace conflicts. One of the easiest ways to ensure unique function names is to name all functions with a package-specific prefix, like in the gh or gert packages.

Packages with duplicate function names will produce an initial check summary like this:

pkgcheck summary with failing function name check.

The “Details” section which follows will then include additional information like this:

pkgcheck details of failing function name check.

This check relies on a database of the names of every function from every current CRAN package, which is also available for download with the latest release of the pkgstats package in the file, “pkgstats-fn-names.Rds”. Package authors can confirm the uniqueness of their function names by running pkgcheck locally.

🔗 Next coworking sessions

Join us for social coworking & office hours monthly on 1st 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.

We’re taking a break on Coworking events for July and August, so we’ll see you in September!

Find out about more events.

🔗 Software 📦

🔗 New packages

The following four packages recently became a part of our software suite:

  • gitcellar, developed by Maëlle Salmon together with Jeroen Ooms: Provide functionality to download archives (backups) for all repositories in a GitHub organization (useful for backups!).

  • EDIutils, developed by Colin Smith: A client for the Environmental Data Initiative repository REST API. The EDI data repository https://portal.edirepository.org/nis/home.jsp is for publication and reuse of ecological data with emphasis on metadata accuracy and completeness. It is built upon the PASTA+ software stack https://pastaplus-core.readthedocs.io/en/latest/index.html# and was developed in collaboration with the US LTER Network https://lternet.edu/. EDIutils includes functions to search and access existing data, evaluate and upload new data, and assist other data management tasks common to repository users. It has been reviewed by Jasmine Lai, and Rodrigo Pires.

  • ReLTER, developed by Alessandro Oggioni together with Micha Silver, Paolo Tagliolato, and Luigi Ranghetti: ReLTER provides access to DEIMS-SDR (https://deims.org/), and allows interaction with data and software implemented by eLTER Research Infrastructure (RI) thus improving data sharing among European LTER projects. ReLTER uses the R language to access and interact with the DEIMS-SDR archive of information shared by the Long Term Ecological Research (LTER) network. This package grew within eLTER H2020 as a major project that will help advance the development of European Long-Term Ecosystem Research Infrastructures (eLTER RI - https://elter-ri.eu). The ReLTER package functions in particular allow to:

    • retrieve the information about entities (e.g. sites, datasets, and activities) shared by DEIMS-SDR (see e.g. get_site_info function);
    • interact with the ODSEurope starting with the dataset shared by DEIMS-SDR (see e.g. get_site_ODS function);
    • use the eLTER site informations to download and crop geospatial data from other platforms (see e.g. get_site_ODS function);
    • improve the quality of the dataset (see e.g. get_id_worms).

Functions currently implemented are derived from discussions of the needs among the eLTER users community. The ReLTER package will continue to follow the progress of eLTER-RI and evolve, adding new tools and improvements as required.

  • unifir, developed by Michael Mahoney: Functions for the creation and manipulation of scenes and objects within the Unity 3D video game engine (https://unity.com/). Specific focuses include the creation and import of terrain data and GameObjects as well as scene management. It is available on CRAN. It has been reviewed by Will Jones, and Tan Tran.

Discover more packages, read more about Software Peer Review.

🔗 New versions

The following eleven packages have had an update since the last newsletter: EML (v2.0.6), GSODR (3.1.5), jagstargets (1.0.2), lightr (v1.7.0), mctq (v0.2.0), nodbi (v0.7.1), opencv (v0.2.2), skimr (v2.1.4), stplanr (v0.9.0), terrainr (v0.7.0), and unifir (v0.2.1).

🔗 Software Peer Review

There are seventeen 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

Two 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

We’re looking for a new maintainer, or a new maintainer team, for each of the following packages:

If you’re interested, please comment in the issues or email info@ropensci.org.

For more info, see

🔗 Package development corner

Some useful tips for R package developers. 👀

🔗 Documentation: HTML > PDF

This paragraph is not about LaTeX, but about screen-reader users! Please take time to read this email by Jonathan Godfrey on R-pkg-devel.

Please consider the HTML alternative to any pdf, in any context, but especially in anything relating to R.

Community member Lluís Revilla Sancho also highlighted that search.r-project.org provides HTML documentation for all CRAN documentation.

🔗 Twelve quick tips for software design

You might enjoy the article “Twelve quick tips for software design” by Greg Wilson. It is not R specific but is relevant to package development. “Design with everyone in mind” can for instance remind of the previous point about HTML documentation.

🔗 Renaming the default branch

If you’ve been considering renaming the default branch from master (oppressive language) to main, do not miss the Tidyverse blog post Jenny Bryan wrote in October 2021 “Renaming the default branch”, especially as it features useful usethis functions!

🔗 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.