rOpenSci | Searching and browsing the R universe

Searching and browsing the R universe

This post is part of a series of technotes about r-universe, a new umbrella project by rOpenSci under which we experiment with various ideas for improving publication and discovery of research software in R. As the project evolves, we will post updates to document features and technical details. For more information, visit the r-universe project page.

We made a series of structural improvements in r-universe to make it easier to browse and discover interesting R packages and articles.

Most notably, the r-universe.dev landing page has been overhauled: you can now search directly for any name or keyword across the entire ecosystem:

screenshot of r-universe homepage with search bar

The homepage also lists the popular topics and organizations, and links to recently active packages, articles, and maintainers. Give it a try and search for any topic, author, or organization!

🔗 Using package keywords

The search index matches words against package names, titles, descriptions, authors and vignette titles. Package authors can further improve discoverability of software and articles by setting keywords.

There are two ways to specify keywords for a package: if the R package is hosted on GitHub you can add keywords by configuring repository topics. This is the best way, because topics also make your package more discoverable on GitHub itself. For packages not hosted on GitHub, you can specify keywords in the X-schema.org-keywords field in your package DESCRIPTION file. This field is permitted on CRAN as well.

screenshot a universe with keywords highlighted

Keywords both help the package show up in search results, and are also displayed as labels in the packages tab. These labels are again clickable to easily discover other packages with the same keyword which may also be interesting.

In addition to manually specified keywords, the build system may also add some keywords automatically based on analysis of the package, including the names of system libraries that the package links to such as gdal, or language tags such as c++ or openmp.

🔗 Publishing your packages and articles to R universe

Currently, r-universe is serving 3324 packages and 3291 articles by 929 maintainers. Want to add your own packages? Signing up is easy and only takes a minute. Packages on r-universe may be, but don’t need to be on CRAN. In fact, packages that are not on CRAN may especially benefit from the extra visibility by publishing them on r-universe!

For more details read our blog post: how to create your personal CRAN-like repository on R-universe.