<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>rOpenSci - open tools for open science</title><link>https://ropensci.org/rbloggers/index.xml</link><description>Recent content on rOpenSci - open tools for open science</description><generator>Hugo</generator><language>en</language><atom:link href="https://ropensci.org/rbloggers/index.xml" rel="self" type="application/rss+xml"/><item><title>From Peer Review to Mentorship: My rOpenSci Story</title><link>https://ropensci.org/blog/2026/07/14/15yo-eunseop-kim/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><author>rOpenSci</author><guid>https://ropensci.org/blog/2026/07/14/15yo-eunseop-kim/</guid><description>
&lt;h2&gt;
Getting Involved with rOpenSci
&lt;/h2&gt;&lt;p&gt;I first came to rOpenSci in 2022, though at the time I barely knew what it was.
I was getting a statistical package of mine ready to submit to the Journal of Statistical Software, and that is how I was pointed toward &lt;a href="https://ropensci.org/software-review/"&gt;rOpenSci review&lt;/a&gt;: the journal directs authors to rOpenSci&amp;rsquo;s statistical software standards, so going through the review looked like a convenient step along the way.
At the time, my focus was on polishing the software for the journal submission, not on rOpenSci itself.&lt;/p&gt;
&lt;p&gt;What I did not expect was how much the process itself would change my perspective.
Coming from an academic background, the &lt;a href="https://github.com/ropensci/software-review/issues/550"&gt;open review on GitHub&lt;/a&gt; felt very different from the closed, anonymous process I was used to.
It was rigorous without being adversarial.
An editor and two reviewers carefully examined the package, and their feedback was constructive and grounded in &lt;a href="https://stats-devguide.ropensci.org/standards.html"&gt;rOpenSci&amp;rsquo;s well-defined standards and guidelines&lt;/a&gt;.
The review improved the package, and it also gave me a greater appreciation for the collaborative approach behind open-source software review.&lt;/p&gt;
&lt;p&gt;I was later &lt;a href="https://github.com/ropensci/software-review/issues/728"&gt;invited to review a package myself&lt;/a&gt;.
The experience gave me a different perspective on the review process.
As a reviewer, I saw that the goal was not simply to determine whether a package met some standards or merits, but to help authors improve their software through constructive feedback.
When applications opened for the &lt;a href="https://ropensci.org/champions/"&gt;Champions Program&lt;/a&gt;, mentoring felt like a natural next step.
Having experienced rOpenSci as both a software author and a reviewer, it seemed like a meaningful way to contribute to the community.&lt;/p&gt;
&lt;h2&gt;
Mentoring in the Champions Program
&lt;/h2&gt;&lt;p&gt;I was matched with &lt;a href="https://ropensci.org/author/yi-chin-sunny-tseng/"&gt;Sunny Tseng&lt;/a&gt; as her mentor.
Over the program, Sunny built &lt;a href="https://sunnytseng.github.io/bbsTaiwan/"&gt;bbsTaiwan&lt;/a&gt;, an R package that makes Taiwan&amp;rsquo;s Breeding Bird Survey data much easier to access and analyze.
It was a real package solving a real problem for people who study Taiwan&amp;rsquo;s birds, which made it a pleasure to work on together.&lt;/p&gt;
&lt;p&gt;Mostly, what I gave was time and attention.
We worked through package scope, unit testing, version control, and the other practical aspects of building an R package.
Many of our conversations were not about solving a particular technical problem, but about discussing trade-offs, identifying useful resources, and thinking through the next steps.
Those conversations ended up being one of my favorite parts of the program.&lt;/p&gt;
&lt;p&gt;What I valued most, though, was seeing how Sunny&amp;rsquo;s work was used after the project.
It is easy to think of a package as code made available for others to use, but in this case it became a tool that supported people working with the same data.
While visiting Taiwan, she also ran a session introducing it to members of that community.
This reinforced my view that open-source software is not just code shared in public, but a way of bringing people together around shared work.&lt;/p&gt;
&lt;h2&gt;
Looking Back
&lt;/h2&gt;&lt;p&gt;More than anything, my time with rOpenSci has left me with an appreciation for how thoughtfully it is run.
Its initiatives, from peer review to mentorship, are organized with real care, and they are built to do more than improve software.
They are designed to connect people, bring contributors together, and keep community at the center of open science.&lt;/p&gt;
&lt;p&gt;Fifteen years in, what strikes me about rOpenSci is that it has always been more about people than about packages.
What began as a convenient step on the way to a journal turned into one of the more rewarding parts of my work, and I have found value in each perspective I have seen as an author, a reviewer, and a mentor.&lt;/p&gt;</description></item><item><title>An API for Everything There Is to Know About Packages</title><link>https://ropensci.org/blog/2026/07/08/r-universe-apis-use-cases/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><author>rOpenSci</author><guid>https://ropensci.org/blog/2026/07/08/r-universe-apis-use-cases/</guid><description>
&lt;p&gt;On R-Universe you can &lt;a href="https://ropensci.org/blog/2023/02/27/runiverse-discovering/"&gt;discover and learn everything there is to know about R packages&lt;/a&gt;. But did you know it does only provide a human-friendly website, but also programmatic access to all information through APIs!
Thanks to those APIs you can list universes, list packages in an universe, get information on packages, and perform searches; all without any need for authentication.&lt;/p&gt;
&lt;p&gt;The R-Universe APIs are both handy and reliable. You can build upon them, as both rOpenSci and community members have done.
This post shows some examples of use cases with the R-Universe API.&lt;/p&gt;
&lt;h2&gt;
Know which packages are yours
&lt;/h2&gt;&lt;p&gt;The toolbox for rOpenSci community management tasks, &lt;a href="https://ropensci.r-universe.dev/promoutils"&gt;promoutils&lt;/a&gt;, calls an R-Universe API to list and get information on &lt;a href="https://github.com/ropensci-org/promoutils/blob/18c80362002bafe48c7c88c1ca062ac3a3050358/R/utils.R#L25"&gt;rOpenSci packages&lt;/a&gt;.
This list of packages is in particular used in the &lt;a href="https://github.com/ropensci-org/promoutils/blob/18c80362002bafe48c7c88c1ca062ac3a3050358/R/help_wanted_json.R#L48"&gt;function&lt;/a&gt; that outputs data on &lt;a href="https://ropensci.org/help-wanted"&gt;help-wanted issues&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Display packages developed at your organization
&lt;/h2&gt;&lt;p&gt;If your organization develops R packages, you can use its R-Universe as the source of truth for your package collection.
For instance, the &lt;a href="https://ggsegverse.r-universe.dev/builds"&gt;R-Universe of ggsegverse&lt;/a&gt; corresponds to, well, the ggsegverse.
Therefore, on the ggsegverse website, the &lt;a href="https://ggsegverse.github.io/ecosystem/"&gt;listing of packages&lt;/a&gt; is created by querying &lt;code&gt;https://ggsegverse.r-universe.dev/api/packages&lt;/code&gt;, the endpoint for &lt;a href="https://docs.r-universe.dev/browse/api.html#information-of-all-packages-in-an-universe"&gt;information on all packages in the universe&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://ggsegverse.github.io/ecosystem/"&gt;&lt;img src="https://ropensci.org/blog/2026/07/08/r-universe-apis-use-cases/ggsegverse.png"
alt="Screenshot of the ggsegverse website, with informative package cards"&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;p&gt;Likewise, the &lt;a href="https://ggsegverse.github.io/docs/"&gt;docs page&lt;/a&gt; of ggsegverse relies on the R-Universe API to retrieve links to vignettes for each package.&lt;/p&gt;
&lt;h3&gt;
Server-side or client-side API requests
&lt;/h3&gt;&lt;p&gt;The ggsegverse website performs &lt;strong&gt;client-side requests&lt;/strong&gt;: it queries the R-Universe API when you open the webpage, through a &lt;a href="https://github.com/ggsegverse/ggsegverse.github.io/blob/aea3723f885387ca9399408ccfbcc7a1ec9d7820/js/api.js"&gt;JS script&lt;/a&gt;.
You can also check this through the &lt;a href="https://inspectelement.org/apis.html#how-to-find-and-use-undocumented-apis"&gt;web developer tools&lt;/a&gt;:&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://ropensci.org/blog/2026/07/08/r-universe-apis-use-cases/request.png"
alt="Screenshot of the web developer tools&amp;#39; network tab, showing the XHR request logged when one reloads the ggsegverse website"&gt;
&lt;/figure&gt;
&lt;p&gt;The rendering of the nice package cards happens through &lt;a href="https://github.com/ggsegverse/ggsegverse.github.io/blob/fec52718432d098b1162772f3f94985a1d0feef3/js/render.js"&gt;another JS script&lt;/a&gt; that uses information such as the package&amp;rsquo;s title, description, number of stars, etc.&lt;/p&gt;
&lt;p&gt;In contrast, for package listings on author and package pages, the rOpenSci website uses &lt;strong&gt;server-side requests&lt;/strong&gt;: the API is called when Hugo renders our website.
For instance, for the list of packages at the bottom of &lt;a href="https://ropensci.org/author/jeroen-ooms/"&gt;Jeroen Ooms&amp;rsquo; author page&lt;/a&gt;, we &lt;a href="https://github.com/ropensci/roweb3/blob/503f0547854925eaa72a0e2c36420e3731e98ebf/themes/ropensci/layouts/author/list.html#L84"&gt;query&lt;/a&gt; the R-Universe API link from our website &lt;a href="https://github.com/ropensci/roweb3/blob/7851904c5297868b7c372788166c526f2fe2ed1d/config.toml#L60"&gt;configuration&lt;/a&gt; and &lt;a href="https://github.com/ropensci/roweb3/blob/503f0547854925eaa72a0e2c36420e3731e98ebf/themes/ropensci/layouts/author/list.html#L85"&gt;filter&lt;/a&gt; the packages by GitHub login.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://ropensci.org/blog/2026/07/08/r-universe-apis-use-cases/jeroen.png"
alt="Screenshot of Jeroen Ooms&amp;#39; author page on the rOpenSci website, featuring the list of rOpenSci packages that he maintains."&gt;
&lt;/figure&gt;
&lt;p&gt;On a Quarto website, you could have a code chunk using R to query the R-Universe APIs, through the &lt;a href="https://docs.ropensci.org/universe/"&gt;universe R package&lt;/a&gt; for instance.&lt;/p&gt;
&lt;p&gt;In any case, if you use server-side requests, you need to re-render your website regularly to avoid your packages&amp;rsquo; listing to get out-of-date.
The nice thing about client-side requests is that the package lists will be always up-to-date!&lt;/p&gt;
&lt;h2&gt;
Search Packages
&lt;/h2&gt;&lt;p&gt;With R-universe, you can search packages, not only through the web interface but also through an &lt;a href="https://docs.r-universe.dev/browse/api.html#api-global-search"&gt;API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The project &lt;a href="https://rwarehouse.netlify.app/"&gt;The Wharehouse&lt;/a&gt;, that helps users find packages according to given keywords, &lt;a href="https://rwarehouse.netlify.app/about#resources-credits"&gt;uses R-universe as one its information sources&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Conclusion
&lt;/h2&gt;&lt;p&gt;In this post we provided some use cases of the R-Universe APIs.
Try them out, or read the &lt;a href="https://docs.r-universe.dev/browse/api.html"&gt;docs&lt;/a&gt; to get a sense of all the information that&amp;rsquo;s shared through the different endpoints.
If you maintain some infrastructure that uses an R-Universe API, feel free to report a &lt;a href="https://ropensci.org/usecases"&gt;use case&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>FOSS Tools for Lazy Editors</title><link>https://ropensci.org/blog/2026/07/02/editor-tools/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><author>rOpenSci</author><guid>https://ropensci.org/blog/2026/07/02/editor-tools/</guid><description>
&lt;!--- cSpell: ignore xkcd wordlists roweb chrischinchilla jolars ---&gt;
&lt;p&gt;I recently had the opportunity to learn what the term &amp;ldquo;Nerd Sniping&amp;rdquo; meant.
&lt;a href="https://ropensci.org/author/ma%C3%ABlle-salmon"&gt;Maëlle&lt;/a&gt; pointed out a conversation on the rOpenSci Slack about something called Vale, meant for text linting.
I&amp;rsquo;d seen the comment, but honestly hadn&amp;rsquo;t really understood what it was all about until Maëlle asked if I thought it&amp;rsquo;d be useful for editing the blog&amp;hellip;&lt;/p&gt;
&lt;p&gt;&amp;hellip;time passes&amp;hellip;&lt;/p&gt;
&lt;p&gt;About three days later, I&amp;rsquo;ve hardly finished any of the blog post reviews I was planning to do.
I&amp;rsquo;ve been sucked down a rabbit hole of Vale setup, custom rules, and overrides.&lt;/p&gt;
&lt;p&gt;It turns out that &amp;ldquo;Nerd Sniping&amp;rdquo; refers to the practice of throwing problems at nerds that distract them from what they were doing.&lt;/p&gt;
&lt;figure class="center"&gt;&lt;img src="https://ropensci.org/blog/2026/07/02/editor-tools/nerd_sniping.png"
alt="xkcd comic #356 Nerd Sniping. A comic where a shouted physics problem stops an engineer crossing the street so they are hit by a bus while contemplating the solution." width="500"&gt;&lt;figcaption&gt;
&lt;p&gt;&lt;a href="https://xkcd.com/356"&gt;xkcd Nerd Sniping&lt;/a&gt;&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;That being said, it was a glorious hole to fall down!
It was just too bad that Maëlle sniped me two more times by asking me about my spell check setup in Positron and then by asking if Panache would help with translations.&lt;/p&gt;
&lt;p&gt;I was pretty slow at my editorial duties that week!
But I did come out of the dive with a great editorial setup which will definitely save me time in future.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve &lt;a href="https://ropensci.org/author/steffi-lazerte"&gt;edited&lt;/a&gt; &lt;strong&gt;a lot&lt;/strong&gt; of posts on the rOpenSci blog.
I take pride in helping writers get their ideas across with clarity, while not losing their own style.
I&amp;rsquo;m an opinionated editor, so I also try hard to ensure that writers understand when my suggestions are just my opinion, and when I think there are mistakes in style or content that really do need to be fixed.
I am also fussy about the details, about being consistent with capitalizations, about keeping ideas logically ordered, and about making sure that readers without the same background might still understand the gist of the post&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;As such, my post reviews can get a bit lengthy and it&amp;rsquo;s not unreasonable for me to have 20-30 comments on a standard post.
That&amp;rsquo;s not too problematic, but if I had to complain it might be about the technical edits, like fixing the capitalization of &amp;lsquo;rOpenSci&amp;rsquo;&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;, ensuring headings are in sentence case, and that links to ropensci.org pages are relative.
These aren&amp;rsquo;t complicated fixes, but if you have to remember to keep an eye out for them, and then create a GitHub PR review suggestion for each fix, it can become a tad tedious.&lt;/p&gt;
&lt;p&gt;Maëlle&amp;rsquo;s timely sniping helped me finalize my collection of tools to help streamline editorial tasks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Spell checking&lt;/strong&gt; with &lt;a href="https://cspell.org/"&gt;cSpell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linting&lt;/strong&gt;&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt; with &lt;a href="https://vale.sh/"&gt;Vale&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Formatting&lt;/strong&gt; with &lt;a href="https://panache.bz/"&gt;Panache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating GitHub PR suggestions&lt;/strong&gt; with &lt;a href="https://github.com/Microsoft/vscode-pull-request-github"&gt;GitHub Pull Requests&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of these tools can be installed and used in different ways.
They are also powerful with many different possible customizations and configurations.
Here, I&amp;rsquo;ll share with you how I use these tools as extensions in &lt;a href="https://positron.posit.co/"&gt;Positron&lt;/a&gt; to help make it easier to write and edit posts for the rOpenSci blog.
Hopefully this inspires you to explore how you might set them up to support your workflows!
Further, if you&amp;rsquo;re interested in setting up your own tools, perhaps you want to check out this &lt;a href="https://ropensci.org/blog/2025/09/18/markdown-programmatic-parsing/"&gt;blog post&lt;/a&gt; on &amp;ldquo;All the Ways to Programmatically Edit or Parse R Markdown / Quarto Documents&amp;rdquo;.&lt;/p&gt;
&lt;h2&gt;
General setup
&lt;/h2&gt;&lt;p&gt;For each tool, you&amp;rsquo;ll want to install the Positron extension, and then set up your configuration.
Configurations can usually be specified at three different levels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;User&lt;/strong&gt;: Your system-wide setup which is how you want things to work in general across projects.
User config files are generally stored somewhere in your home directory.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project&lt;/strong&gt;: Project-wide setup which overrides your user setup if the project does things differently.
These config files are stored in the project directly (like &lt;code&gt;roweb3&lt;/code&gt;, for the rOpenSci blog).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File&lt;/strong&gt;: File or file section setup which works at a very local scale.
Usually this configuration is indicated by in-file comments.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More specifically here are (some) of the locations/names for configuration files and links to their documentation sections for more details.&lt;/p&gt;
&lt;!-- panache-ignore-format-start --&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Level&lt;/th&gt;
&lt;th&gt;cSpell&lt;/th&gt;
&lt;th&gt;Vale&lt;/th&gt;
&lt;th&gt;Panache&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;User&lt;/td&gt;
&lt;td&gt;&lt;a href="https://streetsidesoftware.com/vscode-spell-checker/#vs-code-configuration-settings"&gt;Positron settings&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.vale.sh/topics/.vale.ini#search-process"&gt;&lt;code&gt;.vale.ini&lt;/code&gt; in any parent dir. or global config&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://panache.bz/guide/configuration.html"&gt;&lt;code&gt;~/.config/panache/config.toml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Project&lt;/td&gt;
&lt;td&gt;&lt;a href="(https://cspell.org/docs/Configuration)"&gt;&lt;code&gt;.cspell.json&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="docs.vale.sh/topics/.vale.ini#creating-a-valeini-file"&gt;&lt;code&gt;.vale.ini&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://panache.bz/guide/configuration.html"&gt;&lt;code&gt;.panache.toml&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File&lt;/td&gt;
&lt;td&gt;&lt;a href="https://cspell.org/docs/Configuration/document-settings"&gt;Inline Comments&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.vale.sh/formats/html"&gt;Inline Comments&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://panache.bz/getting-started.html#ignore-directives"&gt;Inline Comments&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;!-- panache-ignore-format-end --&gt;
&lt;p&gt;This means you can have different rules for different projects, and override them as needed.
In the following examples, I&amp;rsquo;ll show you how I do this for posts on the rOpenSci blog.&lt;/p&gt;
&lt;h3&gt;
Code Spell Checker (cSpell)
&lt;/h3&gt;&lt;p&gt;First is my spell checker, which probably doesn&amp;rsquo;t need much explanation.
However, it&amp;rsquo;s nice to use a spell checker which also works on code.
I use the &lt;a href="https://github.com/streetsidesoftware/vscode-spell-checker"&gt;Code Spell Checker (cSpell)&lt;/a&gt; extension by Street Side Software and installed the languages extensions individually:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Canadian English&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; - Code Spell Checker&lt;/li&gt;
&lt;li&gt;French - Code Spell Checker&lt;/li&gt;
&lt;li&gt;Portuguese - Code Spell Checker&lt;/li&gt;
&lt;li&gt;Spanish - Code Spell Checker&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Alternatively, you could also install the &lt;a href="https://github.com/streetsidesoftware/vscode-cspell-dict-extensions#readme"&gt;&lt;code&gt;cSpell Bundled Dictionaries&lt;/code&gt;&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;To configure this extension, I added two types of files: a project-level configuration file, and two dictionaries of words to consider &amp;lsquo;correct&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;The project level configuration file, &lt;a href="https://github.com/ropensci/roweb3/blob/5af882c6c3794048391543ced8a10bad39371f72/.cspell.json"&gt;&lt;code&gt;.cspell.json&lt;/code&gt;&lt;/a&gt;, lists languages to use for different files (to ensure &lt;code&gt;index.es.md&lt;/code&gt; files go through the Spanish spellchecker, while &lt;code&gt;index.pt.md&lt;/code&gt; files go through the Portuguese spellchecker, etc.).
It also includes a list of globs for file paths we can ignore (I&amp;rsquo;m really not interested in spelling mistakes in the .git folder), as well as pointing to dictionaries.&lt;/p&gt;
&lt;p&gt;These dictionaries are initially created by functions from my &lt;a href="https://docs.ropensci.org/promoutils"&gt;promoutils&lt;/a&gt; package, an R package for all my rOpenSci community workflows.
&lt;code&gt;wordlist_create()&lt;/code&gt; creates a wordlist based on rOpenSci packages and author names, so they don&amp;rsquo;t trigger the spell check if they aren&amp;rsquo;t recognized.
&lt;code&gt;wordlist_update()&lt;/code&gt; updates this list with new names as needed.&lt;/p&gt;
&lt;p&gt;We keep these dictionaries in a &lt;a href="hhttps://github.com/ropensci/roweb3/tree/5af882c6c3794048391543ced8a10bad39371f72/.wordlists"&gt;&lt;code&gt;.wordlists&lt;/code&gt;&lt;/a&gt; folder.
Names are stored in the &lt;code&gt;.wordlists/names.txt&lt;/code&gt; file, and we also have a &lt;code&gt;.wordlists/words.txt&lt;/code&gt; file which stores words which are considered correct in the rOpenSci context (like &amp;lsquo;usecases&amp;rsquo;).&lt;/p&gt;
&lt;p&gt;I should also note that I have a personal list of user words stored in my Positron user settings which lists words (like my name!)
which I want to be considered correct across all projects.&lt;/p&gt;
&lt;p&gt;When writing posts, we can also override the language settings within a post using a special comment.
For example if we want to use &lt;a href="https://github.com/ropensci/roweb3/blob/98a419ebb3efc5dcecc35b05265e83e6baa4f32a/content/blog/2026-06-02-ftc-guide/index.en.md?plain=1#L44"&gt;English and Portuguese for a post&lt;/a&gt; we could add &lt;code&gt;&amp;lt;--- cSpell: language en,pt--&amp;gt;&lt;/code&gt; to the document.&lt;/p&gt;
&lt;p&gt;We can also include post-specific words to ignore, which is handy for acronyms.
For example, if we wanted to &lt;a href="https://github.com/ropensci/roweb3/blob/98a419ebb3efc5dcecc35b05265e83e6baa4f32a/content/blog/2026-06-02-ftc-guide/index.en.md?plain=1#L76"&gt;ignore the acronym &lt;code&gt;CSCW&lt;/code&gt;&lt;/a&gt; we could use &lt;code&gt;&amp;lt;!--- cSpell: ignore CSCW ---&amp;gt;&lt;/code&gt; at the top of a post.&lt;/p&gt;
&lt;p&gt;Spell check issues pop up as a warning in my text window, or as a list under &amp;ldquo;Spell Checker Issues By File&amp;rdquo; my lower window pane so I can review them, add them to word lists, or just mentally ignore them.&lt;/p&gt;
&lt;h3&gt;
Vale
&lt;/h3&gt;&lt;p&gt;For linting text (checking the &lt;em&gt;style&lt;/em&gt; and &lt;em&gt;meaning&lt;/em&gt; of the words) I use the &lt;a href="https://github.com/chrischinchilla/vale-vscode"&gt;Vale VSCode&lt;/a&gt; extension by chrischinchilla&lt;sup id="fnref:5"&gt;&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt;.
Vale helps me check that the &lt;a href="https://blogguide.ropensci.org/authortechnical.html#styleguide"&gt;Blog Style&lt;/a&gt; rules are respected, and gives suggestions for alternative word choices to avoid common mistakes (such as words or expressions which might be derogatory).&lt;/p&gt;
&lt;p&gt;To setup Vale I created a project-specific Vale configuration file &lt;a href="https://github.com/ropensci/roweb3/blob/5af882c6c3794048391543ced8a10bad39371f72/.vale.ini"&gt;&lt;code&gt;.vale.ini&lt;/code&gt;&lt;/a&gt;&lt;sup id="fnref:6"&gt;&lt;a href="#fn:6" class="footnote-ref" role="doc-noteref"&gt;6&lt;/a&gt;&lt;/sup&gt; in the roweb3 repository.
I keep my personal &lt;code&gt;.vale.ini&lt;/code&gt; file in a higher level folder that holds all my R projects.
In addition to the Vale configuration file, I also created a Vale styles folder in &lt;a href="https://github.com/ropensci/roweb3/tree/5af882c6c3794048391543ced8a10bad39371f72/.vale-styles"&gt;&lt;code&gt;roweb3/.vale-styles&lt;/code&gt;&lt;/a&gt;.
This is where Vale rules are installed if we use predefined rules, and where I can put rOpenSci-specific rules for the blog.
The first time you use Vale you&amp;rsquo;ll want to run &lt;code&gt;vale sync&lt;/code&gt; in the terminal to install the standard, non-custom, rules.
I &lt;code&gt;.gitignore&lt;/code&gt; all rules which are installed, but track and push custom rules.&lt;/p&gt;
&lt;p&gt;Vale is where I&amp;rsquo;ve made the most customizations, especially with the rOpenSci Blog.&lt;/p&gt;
&lt;!-- TODO: Add links to the configuration file for these items --&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;ve added a &lt;a href="https://github.com/ropensci/roweb3/blob/5af882c6c3794048391543ced8a10bad39371f72/.vale-styles/config/vocabularies/Blog/accept.txt"&gt;specific Blog vocab list&lt;/a&gt; to ensure proper capitalization of rOpenSci projects and (not to mention &amp;ldquo;rOpenSci&amp;rdquo; 😉)&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ve &lt;a href="https://github.com/ropensci/roweb3/blob/4d7e22b1487a589b3e639109aa5fdc320acf21ff/.vale.ini#L18"&gt;turned off a lot of specific rules&lt;/a&gt; which are a bit too aggressive for a blog which allows people to write casually and informally as they like (including using words like &amp;ldquo;very&amp;rdquo; 😄).&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ve created custom rules to modify existing rules &lt;sup id="fnref:7"&gt;&lt;a href="#fn:7" class="footnote-ref" role="doc-noteref"&gt;7&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ve created custom rules to enforce our style guide, like using &lt;a href="https://github.com/ropensci/roweb3/blob/main/.vale-styles/rOpenSci/title.yml"&gt;Title Case&lt;/a&gt; for blog post titles&lt;sup id="fnref:8"&gt;&lt;a href="#fn:8" class="footnote-ref" role="doc-noteref"&gt;8&lt;/a&gt;&lt;/sup&gt;, sentence case for subheadings, and using &lt;a href="https://github.com/ropensci/roweb3/blob/main/.vale-styles/rOpenSci/ropensci_links.yml"&gt;relative links&lt;/a&gt; for ropensci.org pages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is just the start!
I imagine the more I use these rules the more fine tuning I&amp;rsquo;ll do.&lt;/p&gt;
&lt;p&gt;Vale problems are classified as messages, warnings, or errors, and are highlighted in the text window as a quick fix and listed in the Problems pane in my lower window.&lt;/p&gt;
&lt;p&gt;I should also note that for all the rules I&amp;rsquo;ve disabled, there are a lot of opinionated rules left.
We keep them as prompts to think about our writing, not because we &lt;em&gt;must&lt;/em&gt; follow them!&lt;/p&gt;
&lt;figure class="center"&gt;&lt;img src="https://ropensci.org/blog/2026/07/02/editor-tools/there_is.png"
alt="Vale&amp;rsquo;s write-good rule doesn&amp;rsquo;t want me to start a sentence with &amp;lsquo;There is&amp;rsquo;, but I&amp;rsquo;m going to anyway!" width="500"&gt;&lt;figcaption&gt;
&lt;p&gt;Vale&amp;rsquo;s write-good rule doesn&amp;rsquo;t want me to start a sentence with &amp;lsquo;There is&amp;rsquo;, but I&amp;rsquo;m going to anyway!&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3&gt;
Panache
&lt;/h3&gt;&lt;p&gt;For formatting text, I use the &lt;a href="https://github.com/jolars/panache"&gt;Panache&lt;/a&gt; extension by jolars to format the (R)markdown files for the blog.
This is probably the smallest amount of setup, as all we need is a minimal &lt;a href="https://github.com/ropensci/roweb3/blob/5af882c6c3794048391543ced8a10bad39371f72/.panache.toml"&gt;&lt;code&gt;.panache.toml&lt;/code&gt;&lt;/a&gt; configuration file in the roweb3 repository.
However, this file instructs Panache to do one super awesome thing for us, especially for translations of multilingual blog posts:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[format]
wrap = &amp;#34;sentence&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you set up Positron to format on save, Panache automatically wraps text by sentence every time you save the file.
This means that when a blog post is sent for a first pass translation using &lt;a href="https://docs.ropensci.org/babeldown/"&gt;babeldown&lt;/a&gt;, the translation comes back pretty good.
Alternatively, if the line breaks are in the middle of a sentence, the translation can become garbled as lines are treated as disjointed sections of text.&lt;/p&gt;
&lt;p&gt;For my other work, I use &lt;code&gt;wrap = &amp;quot;reflow&amp;quot;&lt;/code&gt;, set in my user configuration file in &lt;code&gt;~/.config/panache/config.toml&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
GitHub Pull Requests
&lt;/h3&gt;&lt;p&gt;Finally, once I&amp;rsquo;ve got all the fiddly edits on a post&amp;rsquo;s (R)md file ready to go, I use the &lt;a href="https://github.com/Microsoft/vscode-pull-request-github"&gt;GitHub Pull Requests&lt;/a&gt; extension to convert these edits to GitHub PR review suggestions.
This is really handy if you find yourself making many small suggested changes to GitHub PRs.&lt;/p&gt;
&lt;p&gt;To review blog posts, I fetch the PR with &lt;code&gt;usethis::pr_fetch()&lt;/code&gt;, and then open the blog post (R)md file in Positron side by side with the html preview of the post in my web browser.&lt;/p&gt;
&lt;p&gt;Then I review the html preview and make the edits directly in the (R)md file.
When I&amp;rsquo;m done, I right click on the edited file name in the Source Control &amp;gt; Changes and select Create Pull Request Suggestions.&lt;/p&gt;
&lt;figure class="center"&gt;&lt;img src="https://ropensci.org/blog/2026/07/02/editor-tools/suggestions.png" width="500"&gt;
&lt;/figure&gt;
&lt;p&gt;This converts my edits to GitHub PR review suggestions which I can then review in Positron, or as I prefer, in a web browser (and fix weird ones, such as suggestions which delete part of a section in one edit but add it back in the next; it&amp;rsquo;s not always a perfect process).
Once all the suggestions are converted, the extension asks me if I want to revert my changes (which I usually do).&lt;/p&gt;
&lt;p&gt;A note of caution, I find this tool a bit confusing to use on a PR that has a lot of comments already.
The comments it makes are sometimes hidden or split in odd ways and it&amp;rsquo;s easy to accidentally create duplicates.
In these situations it&amp;rsquo;s sometimes easier just to make the suggestions in a browser as you might normally.&lt;/p&gt;
&lt;h2&gt;
Why so many tools?
&lt;/h2&gt;&lt;p&gt;Each of these tools provides me a specific solution to a problem.
There is some overlap among them; Vale could do spell checks, and Panache could do linting.
However, I find that by using the tools separately I can achieve an especially detailed and customized setup that works really well with the rOpenSci blog in particular, and with my work in general.&lt;/p&gt;
&lt;p&gt;By including the configuration files in the roweb3 repository, people who also use these tools will automatically use the configurations we&amp;rsquo;ve setup for the rOpenSci blog when they write a post.
We also plan to add instructions for how to use these tools to the &lt;a href="https://blogguide.ropensci.org/"&gt;Blog Guide&lt;/a&gt;.
This should give blog writers the option of using these tools if they would like to.&lt;/p&gt;
&lt;p&gt;However, even if other writers don&amp;rsquo;t use these tools, it&amp;rsquo;s still very useful for me to see a list of potential problems to double check at the end of my review without having to remember to check for them manually.
It means I can focus more on the review of the content rather than worry about whether it&amp;rsquo;s Ropensci or rOpenSci 😄&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Don&amp;rsquo;t judge &lt;em&gt;this&lt;/em&gt; post by these ideals, I said I&amp;rsquo;m a opinionated &lt;em&gt;editor&lt;/em&gt;, writing is completely different 😉.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;It&amp;rsquo;s &lt;strong&gt;rO&lt;/strong&gt;pen&lt;strong&gt;S&lt;/strong&gt;ci.
Not Ropensci, not RopenSci and not ropenSci.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;&amp;ldquo;Linting&amp;rdquo; with respect to text or prose means checking the &lt;em&gt;style&lt;/em&gt; and &lt;em&gt;meaning&lt;/em&gt; of the words.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;I&amp;rsquo;m Canadian so generally follow Canadian spelling (a mix of British and American for those of you new to the complex world of English spelling differences).
At rOpenSci, we generally just ask an author to pick one and stick to it.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;There is also &lt;a href="https://github.com/vale-cli/vale-vscode"&gt;Vale&lt;/a&gt; by errata-ai, but this extension has been &lt;a href="https://github.com/vale-cli/vale-vscode#vale--vs-code"&gt;deprecated&lt;/a&gt; in favour of Vale VSCode.&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:6"&gt;
&lt;p&gt;If you get an error on startup, you may need to tell Vale where this is explicitly by modifying Projects&amp;rsquo; settings.json file to include &lt;code&gt;&amp;quot;vale.valeCLI.config&amp;quot;: &amp;quot;.vale.ini&amp;quot;&lt;/code&gt;&amp;#160;&lt;a href="#fnref:6" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:7"&gt;
&lt;p&gt;For example, &lt;a href="https://github.com/get-alex/alex"&gt;&lt;code&gt;alex&lt;/code&gt;&lt;/a&gt; worries that the word &amp;ldquo;Mexican&amp;rdquo; might be used in a racist manner, but at rOpenSci, it&amp;rsquo;s stated with pride and I don&amp;rsquo;t want Vale to flag our community members for mentioning their nationality 😅&amp;#160;&lt;a href="#fnref:7" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:8"&gt;
&lt;p&gt;But awesomely, we can enforce this rule for English, but not Spanish posts!&amp;#160;&lt;a href="#fnref:8" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>rOpenSci News Digest, June 2026</title><link>https://ropensci.org/blog/2026/06/30/news-june-2026/</link><pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate><author>rOpenSci</author><guid>https://ropensci.org/blog/2026/06/30/news-june-2026/</guid><description>
&lt;!-- Before sending DELETE THE INDEX_CACHE and re-knit! --&gt;
&lt;p&gt;Dear rOpenSci friends, it&amp;rsquo;s time for our monthly news roundup! &lt;!-- blabla --&gt; You can read this post &lt;a href="https://ropensci.org/blog/2026/06/30/news-june-2026"&gt;on our blog&lt;/a&gt;. Now let&amp;rsquo;s dive into the activity at and around rOpenSci!&lt;/p&gt;
&lt;h2&gt;
rOpenSci HQ
&lt;/h2&gt;&lt;h3&gt;
Champions Program update
&lt;/h3&gt;&lt;p&gt;We have two concurrent cohorts, both in Spanish.&lt;/p&gt;
&lt;p&gt;The 2025&amp;ndash;2026 cohort is nearing the end of its participation in the program, so we are organizing the closing meeting and the overall evaluation.&lt;/p&gt;
&lt;p&gt;The 2026&amp;ndash;2027 cohort is continuing their training activities, meeting with their mentors, and starting to work on their packages, and they have been formally introduced on our blog! Read all about the &lt;a href="https://ropensci.org/blog/2026/06/09/champions-2026/"&gt;11 new Champions&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
New editors Ronny Hernandez Mora, Joel Nitta, and Nick Tierney
&lt;/h3&gt;&lt;p&gt;We&amp;rsquo;re thrilled to &lt;a href="https://ropensci.org/blog/2026/06/11/neweditorsq22026/"&gt;introduce&lt;/a&gt; new editors Ronny Hernandez Mora, Joel Nitta, and Nick Tierney. An official welcome and thank you to all three!&lt;/p&gt;
&lt;h3&gt;
A new guide: Organizing Events for First-time Contributors
&lt;/h3&gt;&lt;p&gt;Steffi LaZerte and Yanina Bellini Saibene released a fantastic new rOpenSci guide! Learn how to organize events for first-time contributors such as mini-hackathons and mini-translathons. Read more in the &lt;a href="https://ropensci.org/blog/2026/06/02/ftc-guide/"&gt;release announcement&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
R-Universe updates
&lt;/h3&gt;&lt;p&gt;&amp;ldquo;Five recent R-Universe features you might have missed&amp;rdquo;: A clickbait title for a blog post you don&amp;rsquo;t want to miss! &amp;#x1f609; Jeroen Ooms &lt;a href="https://ropensci.org/blog/2026/06/07/r-universe-updates/"&gt;describes five recent additions&lt;/a&gt; to the R-Universe platform:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Social media cards that actually look good&lt;/li&gt;
&lt;li&gt;PACKAGES.rds support (or: implementing R internals in JavaScript)&lt;/li&gt;
&lt;li&gt;Fancy sort/filter bars in the WebUI&lt;/li&gt;
&lt;li&gt;For the impatient: trigger a sync manually&lt;/li&gt;
&lt;li&gt;Making check results easier to find and share&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In other news, R-universe user Tom Palmer also wrote about five things: &lt;a href="https://remlapmot.github.io/post/2026/runiverse-tips/"&gt;&amp;ldquo;Five tips for managing your R-universe 🚀&amp;rdquo;&lt;/a&gt;. You won&amp;rsquo;t believe the fifth one. &amp;#x1f609;&lt;/p&gt;
&lt;h3&gt;
Yanina Joins the 2026 Sovereign Tech Fellowship
&lt;/h3&gt;&lt;p&gt;We&amp;rsquo;re excited to share that our Community Manager, Yanina Bellini Saibene, &lt;a href="https://www.sovereign.tech/news/meet-the-2026-sovereign-tech-fellows"&gt;has been selected as a 2026 Sovereign Tech Fellow&lt;/a&gt;. During the fellowship, she will focus on making open source more accessible through improved contribution guidance, newcomer-focused mini-hackathons, multilingual training resources, and more sustainable localization practices across communities in the R ecosystem. These efforts will build on and extend rOpenSci&amp;rsquo;s work in community building, mentorship, and open science.&lt;/p&gt;
&lt;h3&gt;
&lt;em&gt;Quinceañera&lt;/em&gt;: celebrating 15 years together
&lt;/h3&gt;&lt;p&gt;In June, we held two community events and a co-working session to mark rOpenSci&amp;rsquo;s 15th anniversary. Across all three sessions, people shared memories of their first contribution, discussed ideas for the next 15 years, and reminded us of how genuinely welcoming rOpenSci &lt;em&gt;and&lt;/em&gt; it&amp;rsquo;s community are. There&amp;rsquo;s more to come :-) Keep an eye out for what we have planned for the rest of the year.&lt;/p&gt;
&lt;h3&gt;
Software Peer-Review updates
&lt;/h3&gt;&lt;p&gt;Community member &lt;a href="https://ropensci.org/author/athanasia-mo-mowinckel/"&gt;Athanasia Mo Mowinckel&lt;/a&gt; has started a new AI agent &amp;ldquo;skills&amp;rdquo; repo at &lt;a href="https://github.com/ropensci-review-tools/ropensci-skills"&gt;&lt;code&gt;ropensci-review-tools/ropensci-skills&lt;/code&gt;&lt;/a&gt;. The repo holds a variety of &amp;ldquo;skills&amp;rdquo;, which are human-readable markdown files, for AI agents to assist in preparing software for peer-review. Anybody thinking about using AI systems to prepare software for peer-review is encouraged to try out these experimental skills, and to help us improve them for others by opening issues or pull requests in &lt;a href="https://github.com/ropensci-review-tools/ropensci-skills"&gt;the GitHub repo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Our recent updates to the &lt;a href="https://ropensci.org/blog/2026/06/01/goodpractice/"&gt;goodpractice package&lt;/a&gt; have also been enhanced with an all-new AI &amp;ldquo;skill&amp;rdquo;. &lt;a href="https://github.com/ropensci-review-tools/goodpractice/blob/main/inst/skills/goodpractice4agents.md"&gt;This skill&lt;/a&gt; instructs agents to edit and improve your package&amp;rsquo;s code to comply with the full suite of goodpractice checks. You can try it out with the package&amp;rsquo;s new &lt;a href="https://docs.ropensci.org/goodpractice/reference/use_skill_gp.html"&gt;&lt;code&gt;use_skill_gp()&lt;/code&gt; function&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
Coworking
&lt;/h3&gt;&lt;p&gt;Read &lt;a href="https://ropensci.org/blog/2023/06/21/coworking/"&gt;all about coworking&lt;/a&gt;!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tuesday July 7nd 2026, 09:00 Americas Pacific (16:00 UTC) &lt;a href="https://ropensci.org/events/coworking-2026-07/"&gt;&amp;ldquo;Debugging in R&amp;rdquo;&lt;/a&gt;, with &lt;a href="https://ropensci.org/author/yanina-bellini-saibene/"&gt;Yanina Bellini Saibene&lt;/a&gt; and cohost &lt;a href="https://ropensci.org/author/shannon-pileggi"&gt;Shannon Pileggi&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;Read up on debugging in R.&lt;/li&gt;
&lt;li&gt;Meet community host, Shannon Pileggi, and discuss tips and tricks for debugging in R.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Tuesday August 4th, 09:00 Australia Western (01:00 UTC) &lt;a href="https://ropensci.org/events/coworking-2026-08/"&gt;&amp;ldquo;Vale and Text Linting&amp;rdquo;&lt;/a&gt;, with &lt;a href="https://ropensci.org/author/steffi-lazerte"&gt;Steffi LaZerte&lt;/a&gt; and cohost &lt;a href="https://ropensci.org/author/jonathan-carroll/"&gt;Jonathan Carroll&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;Read up on text linting.&lt;/li&gt;
&lt;li&gt;Setup a linting framework for your projects.&lt;/li&gt;
&lt;li&gt;Meet co-host, Jonathan Carroll, and discuss Vale and text linting.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Tuesday September 1st, 14:00 Europe Central (12:00 UTC) &lt;a href="https://ropensci.org/events/coworking-2026-09/"&gt;&amp;ldquo;Getting to Know SORTEE&amp;rdquo;&lt;/a&gt;, with &lt;a href="https://ropensci.org/author/steffi-lazerte"&gt;Steffi LaZerte&lt;/a&gt; and cohost &lt;a href="https://ropensci.org/author/ed-ivimey-cook/"&gt;Ed Ivimey-Cook&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;Visit &lt;a href="https://sortee.org/"&gt;SORTEE&lt;/a&gt; (Society for Open, Reliable, and Transparent Ecology and Evolutionary Biology).&lt;/li&gt;
&lt;li&gt;Meet co-host, Ed Ivimey-Cook, and learn more about SORTEE and how you might get involved.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;h2&gt;
Software &amp;#x1f4e6;
&lt;/h2&gt;&lt;p&gt;The following two packages recently became a part of our software suite:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://docs.ropensci.org/pvEBayes"&gt;pvEBayes&lt;/a&gt;, developed by Yihao Tan together with Marianthi Markatou, Saptarshi Chakraborty, and Raktim Mukhopadhyay: A suite of empirical Bayes methods to use in pharmacovigilance. Contains various model fitting and post-processing functions. For more details see Tan et al. (2025) &lt;a href="https://doi.org/10.1002/sim.70195"&gt;https://doi.org/10.1002/sim.70195&lt;/a&gt;, &lt;a href="https://doi.org/10.48550/arXiv.2512.01057"&gt;https://doi.org/10.48550/arXiv.2512.01057&lt;/a&gt;; Koenker and Mizera (2014) &lt;a href="https://doi.org/10.1080/01621459.2013.869224"&gt;https://doi.org/10.1080/01621459.2013.869224&lt;/a&gt;; Efron (2016) &lt;a href="https://doi.org/10.1093/biomet/asv068"&gt;https://doi.org/10.1093/biomet/asv068&lt;/a&gt;. It has been &lt;a href="https://github.com/ropensci/software-review/issues/760"&gt;reviewed&lt;/a&gt; by Kathryn Doering and Collin Cademartori.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://docs.ropensci.org/nycOpenData"&gt;nycOpenData&lt;/a&gt;, developed by Christian Martinez: Provides a unified set of helper functions to access datasets from the NYC Open Data platform &lt;a href="https://opendata.cityofnewyork.us/"&gt;https://opendata.cityofnewyork.us/&lt;/a&gt;. Functions return results as tidy tibbles and support optional filtering, sorting, and row limits via the Socrata API. The package includes endpoints for 311 service requests, DOB job applications, juvenile justice metrics, school safety, environmental data, event permitting, and additional citywide datasets. It has been &lt;a href="https://github.com/ropensci/software-review/issues/750"&gt;reviewed&lt;/a&gt; by Haolin Dong and Michael Pascale.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Discover &lt;a href="https://ropensci.org/packages"&gt;more packages&lt;/a&gt;, read more about &lt;a href="https://ropensci.org/software-review"&gt;Software Peer Review&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
New versions
&lt;/h3&gt;&lt;p&gt;The following seventeen packages have had an update since the last newsletter: &lt;a href="https://docs.ropensci.org/weathercan" title="Download Weather Data from Environment and Climate Change Canada"&gt;weathercan&lt;/a&gt; (&lt;a href="https://github.com/ropensci/weathercan/releases/tag/v1.0.0"&gt;&lt;code&gt;v1.0.0&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/occCite" title="Querying and Managing Large Biodiversity Occurrence Datasets"&gt;occCite&lt;/a&gt; (&lt;a href="https://github.com/ropensci/occCite/releases/tag/v0.6.2"&gt;&lt;code&gt;v0.6.2&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/lightr" title="Read Spectrometric Data and Metadata"&gt;lightr&lt;/a&gt; (&lt;a href="https://github.com/ropensci/lightr/releases/tag/v2.0.0"&gt;&lt;code&gt;v2.0.0&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/gutenbergr" title="Download and Process Public Domain Works from Project Gutenberg"&gt;gutenbergr&lt;/a&gt; (&lt;a href="https://github.com/ropensci/gutenbergr/releases/tag/v0.5.2"&gt;&lt;code&gt;v0.5.2&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/slopes" title="Calculate Slopes of Roads, Rivers and Trajectories"&gt;slopes&lt;/a&gt; (&lt;a href="https://github.com/ropensci/slopes/releases/tag/v2.0.0"&gt;&lt;code&gt;v2.0.0&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/qualtRics" title="Download Qualtrics Survey Data"&gt;qualtRics&lt;/a&gt; (&lt;a href="https://github.com/ropensci/qualtRics/releases/tag/v3.3.0"&gt;&lt;code&gt;v3.3.0&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/srr" title="rOpenSci Software Review Roclets"&gt;srr&lt;/a&gt; (&lt;a href="https://github.com/ropensci-review-tools/srr/releases/tag/v1.0.0"&gt;&lt;code&gt;v1.0.0&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/goodpractice" title="Advice on R Package Building"&gt;goodpractice&lt;/a&gt; (&lt;a href="https://github.com/ropensci-review-tools/goodpractice/releases/tag/v1.1"&gt;&lt;code&gt;v1.1&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/pkgmatch" title="Find R Packages Matching Either Descriptions or Other R Packages"&gt;pkgmatch&lt;/a&gt; (&lt;a href="https://github.com/ropensci-review-tools/pkgmatch/releases/tag/v0.5.4"&gt;&lt;code&gt;v0.5.4&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/pkgstats" title="Metrics of R Packages"&gt;pkgstats&lt;/a&gt; (&lt;a href="https://github.com/ropensci-review-tools/pkgstats/releases/tag/v0.2.3"&gt;&lt;code&gt;v0.2.3&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/cffr" title="Generate Citation File Format (CFF) Metadata for R Packages"&gt;cffr&lt;/a&gt; (&lt;a href="https://github.com/ropensci/cffr/releases/tag/v1.4.1"&gt;&lt;code&gt;v1.4.1&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/dfms" title="Dynamic Factor Models"&gt;dfms&lt;/a&gt; (&lt;a href="https://github.com/ropensci/dfms/releases/tag/v1.0.1"&gt;&lt;code&gt;v1.0.1&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/osmdata" title="Import OpenStreetMap Data as Simple Features or Spatial Objects"&gt;osmdata&lt;/a&gt; (&lt;a href="https://github.com/ropensci/osmdata/releases/tag/v0.4.0"&gt;&lt;code&gt;v0.4.0&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/aRxiv" title="Interface to the arXiv API"&gt;aRxiv&lt;/a&gt; (&lt;a href="https://github.com/ropensci/aRxiv/releases/tag/0.20"&gt;&lt;code&gt;0.20&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/Athlytics" title="A Reproducible Framework for Endurance Data Analysis"&gt;Athlytics&lt;/a&gt; (&lt;a href="https://github.com/ropensci/Athlytics/releases/tag/v1.0.6"&gt;&lt;code&gt;v1.0.6&lt;/code&gt;&lt;/a&gt;), &lt;a href="https://docs.ropensci.org/ReLTER" title="An Interface for the eLTER Community"&gt;ReLTER&lt;/a&gt; (&lt;a href="https://github.com/ropensci/ReLTER/releases/tag/3.1.1"&gt;&lt;code&gt;3.1.1&lt;/code&gt;&lt;/a&gt;), and &lt;a href="https://docs.ropensci.org/read.abares" title="Read Australian Agricultural Data from Government Agencies"&gt;read.abares&lt;/a&gt; (&lt;a href="https://github.com/ropensci/read.abares/releases/tag/v3.0.0"&gt;&lt;code&gt;v3.0.0&lt;/code&gt;&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The writexl package has a &lt;a href="https://github.com/ropensci/writexl/pull/98#issuecomment-4191858158"&gt;new maintainer&lt;/a&gt;, Bill Denney. NLMR is now maintained by &lt;a href="https://github.com/ropensci/NLMR/issues/116#issuecomment-4280937012"&gt;Jakub Nowosad&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Software Peer Review
&lt;/h2&gt;&lt;p&gt;There are eighteen recently closed and active submissions and 4 submissions on hold. Issues are at different stages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Four at &lt;a href="https://github.com/ropensci/software-review/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%226/approved%22"&gt;&amp;lsquo;6/approved&amp;rsquo;&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/760"&gt;pvEBayes&lt;/a&gt;, Empirical Bayes Methods for Pharmacovigilance. Submitted by &lt;a href="https://github.com/YihaoTancn"&gt;Yihao Tan&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/750"&gt;nycOpenData&lt;/a&gt;, Convenient Access to NYC Open Data API Endpoints. Submitted by &lt;a href="https://github.com/martinezc1"&gt;Christian Martinez&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/730"&gt;ernest&lt;/a&gt;, A Toolkit for Nested Sampling. Submitted by &lt;a href="https://github.com/kylesnap"&gt;Kyle Dewsnap&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/671"&gt;pkgmatch&lt;/a&gt;, Find R Packages Matching Either Descriptions or Other R Packages. Submitted by &lt;a href="https://mpadge.github.io"&gt;mark padgham&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Two at &lt;a href="https://github.com/ropensci/software-review/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%225/awaiting-reviewer(s)-response%22"&gt;&amp;lsquo;5/awaiting-reviewer(s)-response&amp;rsquo;&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/762"&gt;lakefetch&lt;/a&gt;, Calculate Fetch and Wave Exposure for Lake Sampling Points. Submitted by &lt;a href="https://github.com/jeremylfarrell"&gt;jeremylfarrell&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/704"&gt;priorsense&lt;/a&gt;, Prior Diagnostics and Sensitivity Analysis. Submitted by &lt;a href="https://github.com/n-kall"&gt;Noa Kallioinen&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Five at &lt;a href="https://github.com/ropensci/software-review/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%224/review(s)-in-awaiting-changes%22"&gt;&amp;lsquo;4/review(s)-in-awaiting-changes&amp;rsquo;&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/744"&gt;RAQSAPI&lt;/a&gt;, A Simple Interface to the US EPA Air Quality System Data Mart API. Submitted by &lt;a href="https://github.com/mccroweyclinton-EPA"&gt;mccroweyclinton-EPA&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/743"&gt;RAMEN&lt;/a&gt;, RAMEN: Regional Association of Methylome variability with the Exposome and geNome. Submitted by &lt;a href="https://erick-navarrodelgado.netlify.app"&gt;Erick Navarro-Delgado&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/741"&gt;logolink&lt;/a&gt;, An Interface for Running NetLogo Simulations. Submitted by &lt;a href="https://danielvartan.com"&gt;Daniel Vartanian&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/718"&gt;rcrisp&lt;/a&gt;, Automate the Delineation of Urban River Spaces. Submitted by &lt;a href="https://github.com/cforgaci"&gt;Claudiu Forgaci&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/615"&gt;galamm&lt;/a&gt;, Generalized Additive Latent and Mixed Models. Submitted by &lt;a href="https://osorensen.no"&gt;Øystein Sørensen&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Two at &lt;a href="https://github.com/ropensci/software-review/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%223/reviewer(s)-assigned%22"&gt;&amp;lsquo;3/reviewer(s)-assigned&amp;rsquo;&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/765"&gt;ciecl&lt;/a&gt;, International Classification of Diseases ICD-10/ICD-11 for Chile. Submitted by &lt;a href="https://github.com/Rodotasso"&gt;Rodolfo Tasso&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/763"&gt;EpiStrainDynamics&lt;/a&gt;, Infer temporal trends of multiple pathogens. Submitted by &lt;a href="https://www.smwindecker.com"&gt;Saras Windecker&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Two at &lt;a href="https://github.com/ropensci/software-review/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%222/seeking-reviewer(s)%22"&gt;&amp;lsquo;2/seeking-reviewer(s)&amp;rsquo;&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/740"&gt;fcmconfr&lt;/a&gt;, Fuzzy Cognitive Map Analysis in R. Submitted by &lt;a href="https://github.com/bhroston"&gt;benroston&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/717"&gt;coevolve&lt;/a&gt;, Fit Bayesian Generalized Dynamic Phylogenetic Models using Stan. Submitted by &lt;a href="https://scottclaessens.github.io/"&gt;Scott Claessens&lt;/a&gt;. (Stats).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Three at &lt;a href="https://github.com/ropensci/software-review/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%221/editor-checks%22"&gt;&amp;lsquo;1/editor-checks&amp;rsquo;&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/775"&gt;grumpy&lt;/a&gt;, Read NumPy .npy and .npz Files. Submitted by &lt;a href="https://hugogruson.fr/"&gt;Hugo Gruson&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/752"&gt;metasurvey&lt;/a&gt;, Reproducible Survey Data Processing with Step Pipelines. Submitted by &lt;a href="https://github.com/mauroloprete"&gt;Mauro Loprete&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/ropensci/software-review/issues/725"&gt;LBDiscoverAnalysis&lt;/a&gt;, Co-occurrence Discovery Models and Visualization for Biomedical LBD. Submitted by &lt;a href="https://github.com/chaoliu-cl"&gt;Chao Liu&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Find out more about &lt;a href="https://ropensci.org/software-review"&gt;Software Peer Review&lt;/a&gt; and how to get involved.&lt;/p&gt;
&lt;h2&gt;
On the blog
&lt;/h2&gt;&lt;!-- Do not forget to rebase your branch! --&gt;
&lt;h3&gt;
Software Review
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://ropensci.org/blog/2026/06/11/neweditorsQ22026"&gt;Ronny Hernandez Mora, Joel Nitta, and Nick Tierney Join rOpenSci Software Peer Review Editorial Team&lt;/a&gt; by Ronny Hernandez Mora, Joel Nitta, Nicholas Tierney, and Yanina Bellini Saibene. Introducing three new editors for rOpenSci software peer review.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://ropensci.org/blog/2026/06/19/maintainers-month"&gt;Celebrating Our Maintainers during Maintainers Month&lt;/a&gt; by Yanina Bellini Saibene. A Look Back at our Maintainer Month 2026 social media campaign.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://ropensci.org/blog/2026/06/01/goodpractice"&gt;Our goodpractice Package Has New Superpowers&lt;/a&gt; by Mark Padgham and Athanasia Mo Mowinckel. We have worked hard over the past few months on major upgrades to our goodpractice package. Checks are now grouped into categories, making it easier to control which checks are run. The biggest change has been adding over 100 new checks, from new lints to many new CRAN checks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://ropensci.org/blog/2026/06/02/ftc-guide"&gt;A New Guide: Organizing Events for First-time Contributors&lt;/a&gt; by Steffi LaZerte and Yanina Bellini Saibene. We introduce our Guide book for organizing events to support first-time contributors to FOSS.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://ropensci.org/blog/2026/06/07/r-universe-updates"&gt;Five recent R-universe features you might have missed&lt;/a&gt; by Jeroen Ooms. In this technote we look at a few recent additions that make R-universe a little nicer, faster, or more convenient to use.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://ropensci.org/blog/2026/06/09/champions-2026"&gt;Eleven Latin American Voices for Open Science: The New Cohort of Champions rOpenSci 2026&lt;/a&gt; by Bastián Olea Herrera, Denisse Fierro Arcos, Durga Valentina Linares Herrera, Evelia Lorena Coss Navarrete, Gladys Choque Ulloa, José Daniel Conejeros, Linda Cabrera Orellana, María Florencia Tames, Marina Cecilia Cock, Patricia A. Loto, Estefania Torrejón, and Yanina Bellini Saibene. Introducing 11 new rOpenSci Champions. Other languages: &lt;a href='https://ropensci.org/es/blog/2026/06/09/champions-2026' lang='es'&gt;Once voces latinoamericanas para la ciencia abierta: la nueva cohorte de Campeon(a|e)s rOpenSci 2026 (es)&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Calls for contributions
&lt;/h2&gt;&lt;h3&gt;
Calls for maintainers
&lt;/h3&gt;&lt;p&gt;If you&amp;rsquo;re interested in maintaining any of the R packages below, you might enjoy reading our blog post &lt;a href="https://ropensci.org/blog/2023/02/07/what-does-it-mean-to-maintain-a-package/"&gt;What Does It Mean to Maintain a Package?&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://docs.ropensci.org/charlatan"&gt;charlatan&lt;/a&gt;, create fake data in R. &lt;a href="https://github.com/ropensci/charlatan/issues/150"&gt;Issue for volunteering&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://docs.ropensci.org/hddtools"&gt;hddtools&lt;/a&gt;, Tools to discover hydrological data, accessing catalogues and databases from various data providers. &lt;a href="https://github.com/ropensci/hddtools/issues/36"&gt;Issue for volunteering&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
Calls for contributions
&lt;/h3&gt;&lt;p&gt;Refer to our &lt;a href="https://ropensci.org/help-wanted/"&gt;help wanted page&lt;/a&gt; &amp;ndash; before opening a PR, we recommend asking in the issue whether help is still needed.&lt;/p&gt;
&lt;h2&gt;
Package development corner
&lt;/h2&gt;&lt;p&gt;Some useful information for R package developers. &amp;#x1f440;&lt;/p&gt;
&lt;h3&gt;
goodpractice&amp;rsquo;s new features and behind-the-scene notes
&lt;/h3&gt;&lt;p&gt;Software Review Lead Mark Padgham and long-time community member &lt;a href="https://ropensci.org/author/athanasia-mo-mowinckel/"&gt;Athanasia Mo Mowinckel&lt;/a&gt; have written a blog post particularly relevant to package developers for two reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learn how goodpractice, which helps make your package better, has improved.&lt;/li&gt;
&lt;li&gt;Read how Mark and Mo collaborated, including their use of LLMs in the development process.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
Dumb Ways for an Open Source Project to Die
&lt;/h3&gt;&lt;p&gt;If you&amp;rsquo;re interested in open-source software projects&amp;rsquo; survivability, you&amp;rsquo;ll enjoy this &lt;a href="https://nesbitt.io/2026/05/19/dumb-ways-for-an-open-source-project-to-die.html"&gt;write-up by Andrew Nesbitt&lt;/a&gt; shared by Yanina Bellini Saibene.&lt;/p&gt;
&lt;h3&gt;
Refactoring with Jarl: unused functions and more
&lt;/h3&gt;&lt;p&gt;Hannah Frick and Maëlle Salmon wrote &lt;a href="https://blog.r-hub.io/2026/06/02/jarl/"&gt;&amp;ldquo;Refactoring with Jarl: a coffee chat&amp;rdquo;&lt;/a&gt; on the R-hub blog.&lt;/p&gt;
&lt;h3&gt;
A strategy for recovering data on request interruption
&lt;/h3&gt;&lt;p&gt;Gábor Csárdi summarized &lt;a href="https://gaborcsardi.org/2026/gh-1-6-0-recover-from-interruption/"&gt;recent changes to the gh package&lt;/a&gt;. Especially interesting is his strategy for &lt;a href="https://gaborcsardi.org/2026/gh-1-6-0-recover-from-interruption/#Interrupts"&gt;interruptions&lt;/a&gt;: the user starts a long query then interrupts the process&amp;hellip; how to not lose the data that&amp;rsquo;s already been received? The solution is to make it accessible through &lt;a href="https://rlang.r-lib.org/reference/last_error.html"&gt;&lt;code&gt;rlang::last_error()&lt;/code&gt;&lt;/a&gt;. More details in the &lt;a href="https://gaborcsardi.org/2026/gh-1-6-0-recover-from-interruption/#Interrupts"&gt;post&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
curl summer of bliss
&lt;/h3&gt;&lt;p&gt;The curl project &lt;a href="https://daniel.haxx.se/blog/2026/06/15/curl-summer-of-bliss/"&gt;announced&lt;/a&gt; that it will not accept any vulnerability report during the month of July this year. This is both the opportunity for maintainers to take a break, and to advertise paid curl support, in which there will be no interruption of service.&lt;/p&gt;
&lt;h3&gt;
To conventionally commit or not
&lt;/h3&gt;&lt;p&gt;Sumner Evans wrote an interesting post &lt;a href="https://sumnerevans.com/posts/software-engineering/stop-using-conventional-commits/"&gt;criticizing the conventional commits convention&lt;/a&gt; (starting commits with e.g. &lt;code&gt;fix:&lt;/code&gt; for bug fixes, &lt;code&gt;feat:&lt;/code&gt; for new features, etc).&lt;/p&gt;
&lt;h3&gt;
More than .gitignore
&lt;/h3&gt;&lt;p&gt;Nelson Figueroa wrote a useful &lt;a href="https://nelson.cloud/.gitignore-isnt-the-only-way-to-ignore-files-in-git/"&gt;overview&lt;/a&gt; of the different ways to make Git ignore some files.&lt;/p&gt;
&lt;h3&gt;
How to work with LLMs without losing your skills
&lt;/h3&gt;&lt;p&gt;Vicki Boykis wrote an insightful post &lt;a href="https://vickiboykis.com/2026/05/28/we-should-be-more-tired-than-the-model/"&gt;&amp;ldquo;We should be more tired than the model&amp;rdquo;&lt;/a&gt; including pratical tips such as &amp;ldquo;Starting to use the agent only after I&amp;rsquo;ve spent 20 minutes on the problem&amp;rdquo; or &amp;ldquo;Discussing an agent&amp;rsquo;s proposed implementation with another person instead&amp;rdquo;.&lt;/p&gt;
&lt;h2&gt;
Last words
&lt;/h2&gt;&lt;p&gt;Thanks for reading! If you want to get involved with rOpenSci, check out our &lt;a href="https://contributing.ropensci.org"&gt;Contributing Guide&lt;/a&gt;. This guide will help direct you to the right place, whether you want to make code contributions, non-code contributions, or contribute in other ways such as through sharing use cases. You can also support our work through &lt;a href="https://ropensci.org/donate"&gt;donations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you haven&amp;rsquo;t subscribed to our newsletter yet, you can &lt;a href="https://ropensci.org/news/"&gt;do so though our signup form&lt;/a&gt;. Until it&amp;rsquo;s time for our next newsletter, you can keep in touch with us through our &lt;a href="https://ropensci.org/"&gt;website&lt;/a&gt;, &lt;a href="https://hachyderm.io/@rOpenSci"&gt;Mastodon&lt;/a&gt;, or &lt;a href="https://www.linkedin.com/company/ropensci/"&gt;LinkedIn&lt;/a&gt;. See you soon!&lt;/p&gt;</description></item><item><title>Celebrating Our Maintainers during Maintainers Month</title><link>https://ropensci.org/blog/2026/06/19/maintainers-month/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><author>rOpenSci</author><guid>https://ropensci.org/blog/2026/06/19/maintainers-month/</guid><description>
&lt;p&gt;May was Open Source Software Maintainer Month.
Behind every R package there is at least one person who responds to issues, reviews pull requests, keeps up with dependency changes, and makes sure everything still works.
During Maintainer Month we wanted to celebrate rOpenSci&amp;rsquo;s package maintainer community.&lt;/p&gt;
&lt;h2&gt;
The social media campaign
&lt;/h2&gt;&lt;p&gt;One of our commitments to our community is to amplify the people who make it work. Social media is one of the ways we do that, so we thought Maintainer Month would be a great opportunity to highlight the people behind the packages through a social media campaign.&lt;/p&gt;
&lt;p&gt;To run this campaign, we first needed permission from our maintainers to feature them. In our annual maintainer survey, we asked whether they would be interested in being featured in a public spotlight, and many said yes.&lt;/p&gt;
&lt;p&gt;We also reached out to current and past Champions from our Champions Program, which trains and supports R developers from historically underrepresented groups in the open science community.&lt;/p&gt;
&lt;p&gt;The result was a month-long series of spotlights: one maintainer at a time, each card sharing who they are, where they come from, and what they maintain.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://ropensci.org/blog/2026/06/19/maintainers-month/examples_post.png"
alt="First post in Mastodon announcing the maintainer month campaign, Ronald M. Visser and Maëlle Salmon post on LinkedIn"&gt;
&lt;/figure&gt;
&lt;p&gt;This campaign brought together 37 maintainers from 15 countries, maintaining more than 50 packages that together serve thousands of researchers and data practitioners around the world.&lt;/p&gt;
&lt;p&gt;The diversity of this group reflects the diversity of the rOpenSci community: archaeologists, bioinformaticians, ecologists, economists, statisticians, sociologists, professors, PhD students, engineers and educators.&lt;/p&gt;
&lt;p&gt;We created 39 posts on our accounts on LinkedIn and Mastodon, which is bridge to BlueSky. All the posts were shared by other people and organizations and received comments from grateful users.&lt;/p&gt;
&lt;h2&gt;
Meet all 37 maintainers
&lt;/h2&gt;&lt;p&gt;Here is the full list of maintainers we celebrated in May.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://ropensci.org/blog/2026/06/19/maintainers-month/Maintainermonth.png"
alt="All 37 maintainers&amp;#39; profile pictures inside hex geometrics form"&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Alex Koiter&lt;/strong&gt; 🇨🇦 maintains &lt;a href="https://docs.ropensci.org/mbquartR"&gt;{mbquartR}&lt;/a&gt;, for working with Manitoba&amp;rsquo;s quarter-section land survey system in watershed and land management research.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Andrea Gomez Vargas&lt;/strong&gt; 🇨🇴🇦🇷 maintains &lt;a href="https://soyandrea.github.io/arcenso/"&gt;{ARcenso}&lt;/a&gt;, for accessing and analyzing Argentina&amp;rsquo;s national census data in R. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Austin Koontz&lt;/strong&gt; 🇺🇸 maintains &lt;a href="https://docs.ropensci.org/SymbiotaR2"&gt;{SymbiotaR2}&lt;/a&gt;, an R interface to the Symbiota platform for accessing and managing biodiversity occurrence data from natural history collections.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bilikisu Wunmi Olatunji&lt;/strong&gt; 🇳🇬 maintains &lt;a href="https://github.com/BWOlatunji/chartkickR"&gt;{chartkickR}&lt;/a&gt;, an R wrapper for the Chartkick JavaScript library that makes it easy to create beautiful interactive charts and visualizations from R. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Carolina Pradier&lt;/strong&gt; 🇦🇷🇨🇦 maintains &lt;a href="https://docs.ropensci.org/eph"&gt;{eph}&lt;/a&gt;, for downloading and analyzing microdata from Argentina&amp;rsquo;s Permanent Household Survey, supporting labour and socioeconomic research. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Daniel Vartanian&lt;/strong&gt; 🇧🇷 maintains &lt;a href="https://docs.ropensci.org/mctq"&gt;{mctq}&lt;/a&gt;, for processing data from the Munich Chronotype Questionnaire in sleep and chronobiology research.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Erick Navarro Delgado&lt;/strong&gt; 🇨🇦🇲🇽 maintains &lt;a href="https://ericknavarrod.github.io/RAMEN/"&gt;{RAMEN}&lt;/a&gt;, for identifying associations between environmental exposures and molecular outcomes in multi-omics research.
Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Erika Siregar&lt;/strong&gt; 🇮🇩🇬🇧 maintains &lt;a href="https://erikaris.github.io/rplaywright/"&gt;{rplaywright}&lt;/a&gt;, an R interface to Microsoft Playwright for browser automation and web testing. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ezekiel Adebayo Ogundepo&lt;/strong&gt; 🇳🇬 maintains &lt;a href="https://gbganalyst.github.io/bulkreadr/"&gt;{bulkreadr}&lt;/a&gt;, for simplifying the bulk import of multiple files into R across a range of formats. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Francesca Palmeira&lt;/strong&gt; 🇧🇷 maintains &lt;a href="https://fblpalmeira.github.io/pcir/"&gt;{pcir}&lt;/a&gt;, for modeling species interaction data and food web structures in conservation research. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Guadalupe Pascal&lt;/strong&gt; 🇦🇷 maintains &lt;a href="https://docs.ropensci.org/matildaNLP"&gt;{matildaNLP}&lt;/a&gt;, a package with a specialized corpus of Spanish texts from the Matilda initiative to support research on gender-aware language processing and policy. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Haydée Svab&lt;/strong&gt; 🇧🇷 maintains &lt;a href="https://hsvab.github.io/odbr/"&gt;{odbr}&lt;/a&gt;, for accessing open data urban mobility from a series of cities in Brazil. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Jeroen Ooms&lt;/strong&gt; 🇳🇱 maintains &lt;a href="https://docs.ropensci.org/magick"&gt;{magick}&lt;/a&gt;, &lt;a href="https://docs.ropensci.org/pdftools"&gt;{pdftools}&lt;/a&gt;, and &lt;a href="https://docs.ropensci.org/gert"&gt;{gert}&lt;/a&gt;, packages for image processing, PDF manipulation, and Git operations in R.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Jonathan Keane&lt;/strong&gt; maintains &lt;a href="https://docs.ropensci.org/dittodb"&gt;{dittodb}&lt;/a&gt;, which makes testing database-backed code easy by recording and replaying real database interactions so tests can run without a live connection.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Julia Silge&lt;/strong&gt; 🇺🇸 maintains &lt;a href="https://docs.ropensci.org/qualtRics"&gt;{qualtRics}&lt;/a&gt;, for importing survey data from the Qualtrics platform directly into R.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Karl Broman&lt;/strong&gt; 🇺🇸 maintains &lt;a href="https://docs.ropensci.org/chromer"&gt;{chromer}&lt;/a&gt; and &lt;a href="https://docs.ropensci.org/aRxiv"&gt;{aRxiv}&lt;/a&gt;, for accessing chromosome data and the arXiv preprint server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Maëlle Salmon&lt;/strong&gt; 🇫🇷 maintains &lt;a href="https://docs.ropensci.org/saperlipopette"&gt;{saperlipopette}&lt;/a&gt;, &lt;a href="https://docs.ropensci.org/babelquarto"&gt;{babelquarto}&lt;/a&gt;, and &lt;a href="https://docs.ropensci.org/babeldown"&gt;{babeldown}&lt;/a&gt;, tools for learn how to use git, create multilingual Quarto documents, and support translations workflows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Marcelo S. Perlin&lt;/strong&gt; 🇧🇷 maintains &lt;a href="https://docs.ropensci.org/yfR"&gt;{yfR}&lt;/a&gt;, for importing financial data from Yahoo Finance into R.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Marcos Prunello&lt;/strong&gt; 🇦🇷 maintains &lt;a href="https://docs.ropensci.org/karel/"&gt;{karel}&lt;/a&gt;, a package that brings the Karel the Robot programming environment to R, designed to teach programming concepts and computational thinking to beginners. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Padgham&lt;/strong&gt; 🇩🇪 maintains &lt;a href="https://docs.ropensci.org/pkgcheck"&gt;{pkgcheck}&lt;/a&gt;, which automates software checks for packages submitted to rOpenSci peer review.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mauro Loprete&lt;/strong&gt; 🇺🇾 maintains &lt;a href="https://metasurveyr.github.io/metasurvey/"&gt;{metasurvey}&lt;/a&gt;, for processing and analyzing household survey microdata using a metadata-driven approach. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Micha Silver&lt;/strong&gt; 🇮🇱 maintains &lt;a href="https://docs.ropensci.org/rOPTRAM"&gt;{rOPTRAM}&lt;/a&gt;, implementing the OPtical TRApezoid Model for estimating soil moisture from satellite imagery.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Moritz Hennicke&lt;/strong&gt; 🇧🇪 maintains &lt;a href="https://docs.ropensci.org/nuts"&gt;{nuts}&lt;/a&gt;, for working with the EU&amp;rsquo;s Nomenclature of Territorial Units for Statistics, useful in regional economics and policy research.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Pao Corrales&lt;/strong&gt; 🇦🇷🇦🇺 maintains &lt;a href="https://docs.ropensci.org/agroclimatico"&gt;{agroclimatico}&lt;/a&gt;, for calculating agroclimatic indices and bioclimatic variables for agricultural and environmental research. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Peter Desmet&lt;/strong&gt; 🇧🇪 maintains &lt;a href="https://docs.ropensci.org/frictionless"&gt;{frictionless}&lt;/a&gt;, for working with open data standards and publishing datasets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Philippe Massicotte&lt;/strong&gt; 🇨🇦 maintains &lt;a href="https://docs.ropensci.org/rnaturalearth"&gt;{rnaturalearth}&lt;/a&gt;, &lt;a href="https://docs.ropensci.org/rnaturalearthdata"&gt;{rnaturalearthdata}&lt;/a&gt;, and &lt;a href="https://docs.ropensci.org/gitignore"&gt;{gitignore}&lt;/a&gt;, for working with natural earth map data and project utilities.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sam Albers&lt;/strong&gt; 🇨🇦 maintains &lt;a href="https://docs.ropensci.org/tidyhydat"&gt;{tidyhydat}&lt;/a&gt;, for accessing Canadian hydrometric data in a tidy format.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Steffi Lazerte&lt;/strong&gt; 🇨🇦 maintains &lt;a href="https://docs.ropensci.org/weathercan"&gt;{weathercan}&lt;/a&gt;, for downloading Canadian weather data directly from Environment and Climate Change Canada.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tad Dallas&lt;/strong&gt; 🇺🇸 maintains &lt;a href="https://docs.ropensci.org/helminthR"&gt;{helminthR}&lt;/a&gt;, for accessing the London Natural History Museum&amp;rsquo;s host-parasite database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ronald M. Visser&lt;/strong&gt; 🇳🇱 maintains &lt;a href="https://docs.ropensci.org/dendroNetwork"&gt;{dendroNetwork}&lt;/a&gt;, for creating and analyzing networks in dendrochronological research, combining archaeology and data science.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sehrish Kanwal&lt;/strong&gt; 🇦🇺 maintains &lt;a href="https://umccr.github.io/RNAsum/"&gt;{RNAsum}&lt;/a&gt;, for summarising and visualising RNA-seq data analysis results in clinical cancer genomics workflows. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Victor Ordu&lt;/strong&gt; 🇳🇬🇺🇸 maintains &lt;a href="https://docs.ropensci.org/naijR"&gt;{naijR}&lt;/a&gt;, a package of tools and utilities for working with data and maps about Nigeria. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Will Gearty&lt;/strong&gt; 🇺🇸 maintains &lt;a href="https://docs.ropensci.org/rredlist"&gt;{rredlist}&lt;/a&gt;, for accessing IUCN Red List data on threatened species.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Will Landau&lt;/strong&gt; 🇺🇸 maintains &lt;a href="https://docs.ropensci.org/targets"&gt;{targets}&lt;/a&gt;, a pipeline toolkit that makes data analysis in R faster and fully reproducible by tracking dependencies and only re-running what has changed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Will Pearse&lt;/strong&gt; 🇬🇧 maintains &lt;a href="https://docs.ropensci.org/suppdata"&gt;{suppdata}&lt;/a&gt;, for downloading supplementary data files directly from published scientific articles across major journals.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Yi-Chin Sunny Tseng&lt;/strong&gt; 🇨🇦🇹🇼 maintains &lt;a href="https://sunnytseng.github.io/bbsTaiwan/"&gt;{bbsTaiwan}&lt;/a&gt;, for accessing and analyzing data from Taiwan&amp;rsquo;s Breeding Bird Survey. Champions project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Zhian Kamvar&lt;/strong&gt; 🇺🇸 maintains &lt;a href="https://docs.ropensci.org/tinkr"&gt;{tinkr}&lt;/a&gt;, for reading and writing Markdown documents in R as XML.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Thank you Maintainers!
&lt;/h2&gt;&lt;p&gt;Maintaining open source software is an act of generosity. It takes time that could be spent elsewhere, and it often goes unacknowledged.
Every bug fix, every answered issue, every new feature and update is a small gift to the people who depend on that package.&lt;/p&gt;
&lt;p&gt;We are grateful to all the rOpenSci maintainers.
If you use any of these packages, consider saying &lt;em&gt;thank you&lt;/em&gt;.
You can also let us know how you use these packages by &lt;a href="https://github.com/orgs/ropensci/discussions"&gt;sharing your use case&lt;/a&gt;, that we will &lt;a href="https://ropensci.org/usecases/"&gt;feature in our website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Want to learn more? Explore the &lt;a href="https://ropensci.org/packages"&gt;rOpenSci&amp;rsquo;s packages&lt;/a&gt; in our website and check all the other &lt;a href="https://r-universe.dev/search"&gt;packages universes&lt;/a&gt; in R-Universe.&lt;/p&gt;</description></item></channel></rss>