rOpenSci | rOpenSci News Digest, December 2022

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

🔗 One-page HTML package manuals on R-universe!

We have recently started building HTML reference manuals for each package in the R-universe! For packages that have had an update in the past 3 weeks, the reference manual is now linked from the package homepage on R-universe.dev. All packages in the R-universe are rebuilt at least once per month, so soon all packages should have an online HTML manual. You can also find reference manuals for base-R packages.

We released the three packages used to create these manuals: postdoc, katex and prismjs.

Find more information in our tech note.

🔗 Meeting the stars of the R-universe

Knowing our community’s stories helps us to learn about the people behind our software, brings us closer and offers us new opportunities. To share some of these community stories, we introduce you to the rOpenSci interview series “Meeting the stars of the R-Universe”.

The first interview showcases a bilingual (Spanish & English) story from Latin America: The experience of working with R packages in the Argentinian State.

Don’t miss the blog post and the video (with subtitles in English and Spanish).

🔗 Community Call recap: “Mentoring & training program for Scientific Open Source Champions”

After a brief hiatus, we returned to community calls with a session dedicated to our Champions Program.
We invited open source software Champions from other spaces and communities to share their experiences, to help us learn more about what it is to be a Champion, the benefit of applying to these programs, and how being a Champion can benefit not only us, but also our communities.

In this call, moderated by rOpenSci Community Manager Yani Bellini Saibene, Santosh Yadav and Emanuele Bartolesi shared their experiences of being Champions in their communities and gave advice on how to create a path to becoming a Champion in open source software communities.

You can watch the video and access all the materials on our website.

🔗 Coworking sessions continue!

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 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!

* Note that the January Co-working session is on the second Tuesday in January.

🔗 Software 📦

🔗 New packages

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

  • dynamite, developed by Santtu Tikka together with Jouni Helske: Easy-to-use and efficient interface for Bayesian inference of complex panel (time series) data. The package supports joint modeling of multiple measurements per individual, time-varying and time-invariant effects, and a wide range of discrete and continuous distributions. Estimation of these dynamic multivariate panel models is carried out via Stan. It has been reviewed by Nicholas Clark, and Lucy McGowan.

  • postdoc, developed by Jeroen Ooms: Generates simple and beautiful one-page HTML reference manuals with package documentation. Math rendering and syntax highlighting are done server-side in R such that no JavaScript libraries are needed in the browser, which makes the documentation portable and fast to load. It is available on CRAN.

  • prismjs, developed by Jeroen Ooms: Prism https://prismjs.com/ is a lightweight, extensible syntax highlighter, built with modern web standards in mind. This package provides server-side rendering in R using V8 such that no JavaScript library is required in the resulting HTML documents. Over 400 languages are supported. It is available on CRAN.

Discover more packages, read more about Software Peer Review.

🔗 New versions

The following twenty packages have had an update since the last newsletter: gert (v1.9.2), pkgstats (v0.1.2), cffr (v0.4.0), crul (v1.3), daiquiri (v1.0.3), gutenbergr (v0.2.3), katex (v1.4.1), nodbi (v0.9.1), phylocomr (v0.3.3), postdoc (v1.1.0), prismjs (v1.1.0), qualtRics (v3.1.7), rerddap (v1.0.1), rgbif (v3.7.4), tarchetypes (0.7.3), targets (0.14.1), terrainr (v0.7.2), tic (v0.13.2), tidytags (v1.1), and unifir (v0.2.3).

🔗 Software Peer Review

There are twelve recently closed and active submissions and 2 submissions on hold. Issues are at different stages:

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

🔗 On the blog

🔗 Software Review

🔗 Other topics

  • Meeting the stars of the R-universe: R Community, Exchange and Learn by Yanina Bellini Saibene, Alejandra Bellini, Lucio Casalla, and Steffi LaZerte. This is the first post of our interview series “Meeting the stars of the R-universe”. We begin our journey in Argentina with a team that uses R and develops R packages in the Argentinean State.

  • Conociendo a las estrellas del universo R: comunidad R, intercambiar y aprender by Yanina Bellini Saibene, Alejandra Bellini, Lucio Casalla, and Steffi LaZerte. Esta es la primera entrega de nuestra serie de entrevistas “Conociendo a las estrellas del universo R”. Iniciamos nuestro recorrido en Argentina y con un equipo que utiliza R y desarrolla paquetes de R en el estado Argentino.

🔗 Tech Notes

🔗 Use cases

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

Explore other use cases and report your own!

🔗 Call for package (co-)maintainers

🔗 Calls for maintainers

  • onekp, Access sequences from the 1000 Plant Initiative (1KP). The 1000 Plants Initiative (www.onekp.com) has sequenced the transcriptomes of over 1000 plant species. This package allows these sequences and metadata to be retrieved and filtered by code, species or recursively by clade. Scientific names and NCBI taxonomy IDs are both supported. Issue for volunteering
  • RSelenium, R Bindings for ‘Selenium WebDriver’. Provides a set of R bindings for the ‘Selenium 2.0 WebDriver’ using the ‘JsonWireProtocol’. ‘Selenium 2.0 WebDriver’ allows driving a web browser natively as a user would either locally or on a remote machine using the Selenium server it marks a leap forward in terms of web browser automation. Issue for volunteering.

  • elastic, General Purpose Interface to ‘Elasticsearch’. Connect to ‘Elasticsearch’, a ‘NoSQL’ database built on the ‘Java’ Virtual Machine. Interacts with the ‘Elasticsearch’ ‘HTTP’ API, including functions for setting connection details to ‘Elasticsearch’ instances, loading bulk data, searching for documents with both ‘HTTP’ query variables and ‘JSON’ based body requests. Issue for volunteering.

🔗 Call for comaintainers

Refer to our recent blog post to identify packages where help is especially wished for!

🔗 Package development corner

Some useful tips for R package developers. 👀

🔗 What is a reproducible example for package development problems?

You might have heard of the reprex package, which we’d recommend using. However, it’s not necessarily adapted to package development problems. To illustrate a problem you are having when developing a package, a reproducible example might consist in

  • Creating an empty package, potentially with usethis::create_package();
  • Adding as few elements as possible to it until you can illustrate the problem you have;
  • Sharing it on a public platform (or a platform accessible to your target helper), potentially on GitHub with usethis::use_github();
  • Optionally, adding GitHub Actions workflows to it to have a log to show. See usethis::use_github_actions().

You do not need to use the usethis package. However, it is crucial you find a way to quickly create the package skeleton and to quickly share it, as it will lessen the energy needed to get started, and leave you more time for the trickier reproducible example creation!

That’s the kind of workflow recommended in pkgdown contributing guide. It will also serve you well in any package development Q&A channel. Alternatively, if you can’t reduce your problem to a minimal example, hopefully you can show your actual package to someone, as opposed to describing it with words.

🔗 How to distribute data with your package?

Because of size limitations on CRAN for instance, it might seem tricky to distribute data with your package. You could publish it on R-universe, and also explore solutions presented in a R-hub blog post and in a posit community forum answer by Gábor Csárdi.

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